Rails表示发布到/ new而不是/ create?

我有一个使用Rails 3.1.x应用程序的简单表单视图:

  

prohibited this model from being saved:

Amount:

当在这里点击提交时,它会发布到/mymodels/new 。 如何强制它为mymodels_controller.rb转到正确的创建操作?

选项1:遵循约定并向form_for帮助程序提供新的未保存记录。 你可能已经在@mymodel上有这样的对象,设置你的控制器的new动作。 所以下面的代码段应该可以正常工作:

 <%= form_for(@mymodel) do |f| %> 

如果它不起作用,你可以在你的动作上设置@mymodel ,如下所示:

 class MyModelsController def new @mymodel = MyModel.new end end 

选项2:明确您的URL和方法:

 <%= form_for(:mymodel, :url => create_mymodel_path, :method => :post) do |f| %>