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 rubyonrails-talk+unsubscribe@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/msg/rubyonrails-talk/-/u7iYyI6UqgYJ.
For more options, visit https://groups.google.com/groups/opt_out.
No comments:
Post a Comment