[英]Rails - Dynamic form with radio buttons
基本上,我試圖使用以下代碼列出網站上數據庫中的所有事件:
<table class="table">
<thead>
<tr>
<th>Event</th>
<th>Join Event?</th>
</tr>
</thead>
<tbody>
<% @events.each do |e| %>
<p>
<tr>
<td>
<div>
<%= e.name %>
</div>
</td>
<td>
<div class="btn-group" data-toggle="buttons-radio">
<button class="btn" class-toggle="btn-success"><i class="icon-ok"></i></button>
<button class="btn btn-danger active" class-toggle="btn-danger"><i class="icon-remove"></i></button>
</div>
</td>
</tr>
</tbody>
<% end %>
</table>
您可以通過單擊單選按鈕輕松地加入活動。 現在我的問題是如何在Rails中保存此表單? 在此示例中,我加入了(= clicked)事件2。將此表單保存回數據庫的最佳方法是什么。 理想情況下,我在網站末尾有一個“更新”或“保存”按鈕,可以為我完成此操作。
但是當我在我的表單中添加一個像這樣的簡單提交按鈕時
...same code as above
</td>
</tr>
</tbody>
<%= f.submit 'Save form' %>
<% end %>
</table>
那么每當我單擊一個單選按鈕時,都會觸發我的提交按鈕。 有人知道解決此問題的方法嗎?
好吧,做一個event []單選按鈕很簡單,當提交該按鈕時,它會提交一組選定的選項。
按鈕標簽看起來像這樣,可以根據您的班級進行調整等。
<%= radio_button_tag event[], e.id %>
那么控制器看起來像
def create
...
user.events = params[:event] unless params[:event].empty?
user.save
...
end
粗略地假設您的用戶模型中有一個列來存儲他們將要去的事件。 一個更靈活的模型是讓用戶:has_many事件:through => user_events。 除了看起來像,控制器邏輯相同
def create
...
if params[:event]
params[:event].each do |e|
user.user_event.new(:event_id => e)
end
end
....
end
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.