我想動態創建一個表單中的複選框與用戶的數組的使用。應該保存到數組(param [:project] [:members])的值應該包含所有用戶點擊的複選框中的user_id。動態創建複選框
我一直在環顧四周,但還沒有找到我期待的東西。
我應該爲複選框寫什麼代碼?
表鑑於:
<%= form_for @project do |f| %>
<div class="text_field">
<%= f.label :title%>
<%= f.text_field :title%>
</div>
<div class="text_field">
<%= f.label :description%>
<%= f.text_field :description%>
</div>
<div class="dropdown">
<%= f.label :start_date%>
<%= f.date_select :start_date %>
</div>
<div class="dropdown">
<%= f.label :end_date%>
<%= f.date_select :end_date %>
</div>
<div class="checkboxes">
<% @users.each do |user| %>
// <%= check_box_tag "users[]", user.id %> <--- ???
<% end %>
</div>
<div class="submit">
<%= f.submit "Spara" %>
</div>
<% end %>
控制器:
def new
@project = Project.new
@users = (current_user.blank? ? User.all : User.find(:all, :conditions => ["id != ?", current_user.id]))
end
呈現的HTML:
[ ] Jules Smith // user_id: 1
[X] Carl Jones // user_id: 2
[X] Lily Stevens // user_id: 3
// param[:project][:members] // <-- 2, 3 (user_id's)
非常感謝您的回答。但是,當試用代碼時,我得到以下錯誤:未定義的方法'member_ids'...你知道爲什麼嗎?你能爲我解釋「user.id,@ project.member_ids.include?(user.id)」嗎? – holyredbeard 2013-02-10 12:06:45
您是否設置了has_and_belongs_to_many關聯並檢查了它是否正確並正常工作?我更新了我的答案。 – 2013-02-10 12:35:08