2014-12-06 55 views
4

我希望能夠在索引頁面上使用<%=呈現「表格」%>。這是否正確?它似乎工作,但是,我只是想確保這是做到這一點的正確方法。Rails:在索引上呈現表格

class RemindersController < ApplicationController 
... 
    def index 
     @reminders = Reminder.all 
     @reminder = Reminder.new 
    end 
.... 

回答

4

在索引視圖中包含「新」/「編輯」表單沒有任何問題。這不是'正常的'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 %> 
+0

非常感謝!這正是我需要的正確方向:) – JeremyE 2014-12-06 05:20:40