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/-/u7iYyI6UqgYJ.
For more options, visit https://groups.google.com/groups/opt_out.


Reply via email to