我有一个非常简单的水豚脚本,用于使用设计的自定义注册表单:
scenario "allow me to register and should take me to the new partner page" do
visit '/registrations/become_partner'
response.should be_success
end
当我尝试运行测试时,出现以下错误:
ActionView::Template::Error:
undefined method `first_name' for #<User:0x00000004d259e8>
即使定义了此方法。我在模型中设置了attr_accesible
,页面呈现,我可以从rails控制台调用此方法。为什么水豚在其他地方出现问题时会抛出这个错误?
答案 0 :(得分:2)
看起来您的测试环境还不知道该属性 - 显然您已在开发环境中添加了字段first_name
,但尚未在测试环境中添加。
要更新测试环境,只需运行
即可rake db:test:prepare
它会起作用。您应该在运行迁移后始终执行此操作,这是一个常见的错误。