2014-03-03 46 views
0

我對什麼是form_forform_tag,哪一個時所使用的第一個參數依然朦朧。但基本上我正在建立一個網站,讓訪問者可以在網站上發佈音樂會活動。 事件是一個模型。管理員可以看到提交的事件列表,我想每一個有複選框,然後管理員可以檢查他要批准的事件和命中提交表單上,他們都得到更新。 :approved是在事件模型中的布爾字段。提交一個類的多個對象一個窗體上的Rails

我讀過這post,但我不確定他們在第一個參數form_tag在旁邊的最後一個答案。

我想我需要一個叫做EventsUpdateController新的控制器。到目前爲止,我有這樣的事情,但它並不完全正確:

<%= form_tag events_update_path do %> 
    <% @unapproved_events.each do |event| %> 
    <%= fields_for "events[]", event do |e| %> 
     <tr> 
     <td><%= e.check_box :approved %></td> 
     <td><%= event.date.strftime('%A %B %-d') %></td> 
     <td><%= event.time.strftime('%l:%M %P') %></td> 
     <td><%= event.title %></td> 
     </tr> 
    <% end %> 
    <% end %> 
<% end %> 

回答

0

使用

<%= form_tag events_update_path do %> 
    <% @unapproved_events.each do |event| %> 
    <tr> 
     <td><%= check_box_tag "event_ids[]", event.id, :id => "event-#{event.id}" %></td> 
     <td><%= event.date.strftime('%A %B %-d') %></td> 
     <td><%= event.time.strftime('%l:%M %P') %></td> 
     <td><%= event.title %></td> 
    </tr> 
    <% end %> 
    <%= submit_tag "Approve" %> 
<% end %> 

在你的控制器動作,

events_to_approve = Event.find(params[:event_ids]) 
+0

此代碼產生以下(具有相同的ID對於每個事件):<輸入的ID = 「event_ids_」 名稱= 「event_ids []」 類型= 「複選框」 值= 「10」/> – mikeglaz

+0

可以手動設置的ID。但名字是什麼是重要的PARAMS這 – usha

+0

作品:<%= check_box_tag 「event_ids [#{event.id}]」 %> – mikeglaz

相關問題