I managed to get this to work. I used the fixture name instead of the rigid 
foreign key id in the capability_test.yml fixture.

Thus,

#fixtures
capability_types.yml
one:
  name: MyString
  capability_category: one

two:
  name: MyString
  capability_category: one

On Monday, February 4, 2013 9:03:40 AM UTC-6, AmateurCoder wrote:
>
> I understand that in order to functional test a nested resource, you need 
> to pass the id of the parent resource.  I am having a problem testing the 
> 'edit' action on the nested resource.
>
> Here is the failing test.
>
>   test "should get edit" do
>     get :edit, id: capability_types(:one).id, capability_category_id: 
> capability_categories(:one).id
>     assert_response :success
>   end
>
> id: capability_types(:one).id is passing the id from the capability_types 
> fixture.  I am setting the capability_category_id from the 
> capability_categories fixture.
>
> I am getting this error message.
>
> Couldn't find CapabilityType with id=980190962 [WHERE 
> "capability_types"."capability_category_id" = $1]
> Exception `ActiveRecord::RecordNotFound'
>
> #fixtures
> capability_types.yml
> one:
>   name: MyString
>   capability_category_id: 1
>
> two:
>   name: MyString
>   capability_category_id: 1
>
> capability_categories.yml
> one:
>   name: MyString
>
> two:
>   name: MyString
>
> 'edit' action in the controller
>     def edit
>       @capability_type = 
> @capability_category.capability_types.find(params[:id])
>     end
>
> I am using Rails 4 and have a before_action defined to set_the 
> capability_category.
>
>   before_action :set_capability_category
>
>   def set_capability_category
>     @capability_category = 
> CapabilityCategory.find(params[:capability_category_id])
>   end
>
> *I can see anything that I've done that should not work.  Any ideas? 
> would be greatly appreciated.*
>

-- 
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 [email protected].
To post to this group, send email to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msg/rubyonrails-talk/-/JbNTXjuud3IJ.
For more options, visit https://groups.google.com/groups/opt_out.


Reply via email to