我有一个用户资源,其中:name
是模型上的必需属性。Rails - 在模型验证失败时被URL更改所困惑
如果我尝试创建一个新的用户没有的名称,然后验证失败和错误消息在表单的顶部按预期显示,但从/users/new
页面的URL改变了,以/users
?
,当我开始与水豚玩弄的第一次,和一个验证失败后的预期的current_path是http://localhost:3000/users/new
我无法弄清楚,为什么我的天赋我没有注意到这个问题,直到今晚不及格:
it 'should not create an invalid user' do
fill_in "Name", :with=>""
click_button "Create User"
current_path.should == new_users_path
end
我验证过它发生在我所有的Rails应用,所以我意识到这是铁轨的工作方式,但我真的不明白这是怎么回事的。它为什么这样工作?验证失败时,为什么路径从new_users_path
更改为users_path
?
这让我很困惑
这些操作的控制器代码是什么样的? – ctcherry