如何与Factory Girl一起使用`assigns\'

| 嗨, 我有以下测试:
  test \"should annoy Chuck Norris\" do
    son = Factory.build(:son)
    assert_difference(\'Son.count\') do
      post :create, son: { asset: son.asset, chuck_id: son.chuck }
    end

    assert_redirected_to chuck_path(assigns(son.chuck))
    assert_equal \'The world has been destroyed...\', flash[:notice]
  end
assigns(son.chuck)
无效,当我尝试
son.chuck
时,它可以工作,但是在运行所有测试并创建了
Chucks
之后,
Factory.build(:son)
创建了ID为
12
Chuck
,而
assert_redirected_to
发送了ID
1
。导致以下错误:
Expected response to be a redirect to <http://test.host/chucks/12> but was a redirect to <http://test.host/chucks/1>
          /Users/edison/.rvm/gems/ruby-1.9.2-p180/gems/actionpack-3.1.0.rc4/lib/action_dispatch/testing/assertions/response.rb:67:in `assert_redirected_to\'
那我怎样才能得到正确的10英镑呢?     
已邀请:
        我想您要使用的是11英镑。 要分配的参数必须与控制器中的变量名称匹配。换句话说,假设控制器中有
@chuck.son
,则应使用
assigns(:chuck).son
。注意自变量与corresponds14ѭ符号后的内容的对应关系。     

要回复问题请先登录注册