1

我在控制器中使用单个表单来执行新操作和编辑操作。


编辑.html.erb

<%= form_for @user, :url => edit_users_path(@user) do |f| %>
   <%= render :partial => 'form', :object => f %>
   <%= f.submit "Update" %>
<% end %>

新的.html.erb

<%= form_for @user, :url => users_path do |f| %>
   <%= render :partial => 'form', :object => f %>
   <%= f.submit "Submit" %>
<% end %>

_form.html.erb

<%= form.text_field :firstname %>
<%= form.text_field :lastname %>
<%= form.email_field :email %>

对于这两个动作,submit都不起作用。表格渲染得很好。我添加了数据rails console以检查编辑。它也不起作用。

如果我为每个new&创建 2 个单独的表单edit,它工作正常。所以我假设我的控制器代码很好。

谢谢

4

2 回答 2

2

渲染部分:

<%= render :partial => 'form', :form => f %>

反而。如果它不起作用,请检查生成的 HTML 中的输入名称。

于 2013-03-27T23:16:20.430 回答
1

我在您的编辑中看到,新文件正在使用 |f| 表单构建器的变量,但在表单部分中,您使用表单作为变量。尝试将部分中的字段更改为“f.text_field”

于 2013-11-09T15:39:49.203 回答