Params missing check your params correctly..


*Thanks & Regards,kanna(9742665400)*...........


On Fri, Jan 17, 2014 at 3:19 AM, arca0 <arcaz...@gmail.com> wrote:

> Hi,
> I'm having a problem writing a proper test for an exercise from "Agile Web
> Development with Rails 4.0". The exercise was about creating a member
> route, which was then used via ajax to decrement an cart item (ListItem)
> attribute, eventually destroying it when it hits 0. The route I wrote is:
>
> resources :line_items do
>   member do
>     post 'decrement'
>   end
> end
>
> Controller function 'decrement' uses a params[:id] for internal
> processing.
>
> The test I wanted to write was to check if the controller 'decrement'
> function indeed destroys the LineItem when its quantity
> (line_item.quantity) hits zero. I've therefore created a fixture:
>
> one:
>   product_id: 0
>   cart_id: 0
>   quantity: 1
>
> and assigned it to @line_item in my 'line_items_controller_test.rb', where
> I wrote this test:
>
> test "should destroy line_item via ajax" do
>   assert_difference('LineItem.count') do
>     xhr :post, :decrement, id: @line_item
>   end
> end
>
> However, this throws the following error in my face:
>
> LineItemsControllerTest#test_should_destroy_line_item_via_ajax:
> NoMethodError: undefined method `id' for nil:NilClass
>     app/controllers/line_items_controller.rb:16:in `decrement'
>     test/controllers/line_items_controller_test.rb:61:in `block (2 levels)
> in <class:LineItemsControllerTest>'
>     test/controllers/line_items_controller_test.rb:60:in `block in
> <class:LineItemsControllerTest>'
>
> I tried variations of different parameters to xhr but with no success.
> I've also tried fixing the route passed by consulting rake routes, but it
> appears I don't really understand how this works. Any help would be deeply
> appreciated.
>
> Thanks,
> arca0
>
>  --
> You received this message because you are subscribed to the Google Groups
> "Ruby on Rails: Talk" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to rubyonrails-talk+unsubscr...@googlegroups.com.
> To post to this group, send email to rubyonrails-talk@googlegroups.com.
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/rubyonrails-talk/9458132a-ee23-47c3-b287-f75057aeebf5%40googlegroups.com
> .
> For more options, visit https://groups.google.com/groups/opt_out.
>

-- 
You received this message because you are subscribed to the Google Groups "Ruby 
on Rails: Talk" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to rubyonrails-talk+unsubscr...@googlegroups.com.
To post to this group, send email to rubyonrails-talk@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/rubyonrails-talk/CAPtiWRALFTfz9PKsnSDZz%2B86b%2BLE1h7c%3DQWGs%2ByA7rv1v91AWw%40mail.gmail.com.
For more options, visit https://groups.google.com/groups/opt_out.

Reply via email to