如何解决如何与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
发送了ID1
。导致以下错误:
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ѭ符号后的内容的对应关系。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。