在索引视图中包含“新”/“编辑”表单没有任何问题。这不是'正常的'Rails方式,但它可以工作。请记住,一旦您在页面上填写了表单,您仍然需要提交该表单(一次只能提交一份表单)。这是它变得棘手的地方。如果您想要从同一页面创建和更新提醒,则必须使用不同的操作。 '新' 的形式将类似于:
<%= form_for @reminder, url: {controller: "reminders", action: "create"} do |r| %>
<form code goes here>
<%= r.submit %>
<% end %>
和 '编辑' 的形式(或多个)会是这样的:
<%= @reminders.each do |reminder| %>
<%= form_for reminder, url: {controller: "reminders", action: "update"} do |r| %>
<form code goes here>
<%= r.submit %>
<% end %>
<% end %>
编辑
如果你想整个表格在_form.html.erb部分内部,您也可以将url作为参数传入,如下所示:
<%= render partial: 'form', locals: {path: {controller: "reminders", action: (create/update)}} %>
然后在你的内部:
<%= form_for @reminder, url: path %>
非常感谢!这正是我需要的正确方向:) – JeremyE 2014-12-06 05:20:40