0
在我的數據庫中,我有兩個具有多對多關係的表,因此我創建了關係表。僅針對項目中的用戶選中複選框
Projects
Users
Project_users <-- members of a project
我正在編輯一個項目,該項目包含一個形式的所有項目領域的看法,併爲項目的成員我呈現出複選框。這是有效的,但是通過下面的代碼檢查所有複選框,即使對於不是該項目成員的用戶也是如此。
那麼,我應該如何更改代碼,以便只檢查當前項目成員的複選框?
編輯項目視圖:
<%= form_for @project do |f| %>
...
the rest of the form
...
<div class="checkbox">
<% @members.each do |user| %>
<%= check_box_tag "project[members][]", user.id, '1', :id => "user_#{user.id}" %>
<%= label_tag "user_#{user.id}", user.first_name + ' ' + user.last_name, :class => "checkbox" %>
<% end %>
</div>
...
the rest of the form
...
<% end %>
項目控制器:
...
def edit
@project = Project.find(params[:id])
@members = @project.users
end
...
感謝您的回答!試了一下,得到以下錯誤:.../edit.html.erb:26:語法錯誤,意外'=' \t \t should_be_checked? = project.users.include?(user) – holyredbeard 2013-02-11 21:53:38
嘗試不使用'?' – MrYoshiji 2013-02-11 21:54:23
它在我向project.users ...(@project.users ...)中添加'@'並在控制器中更改爲User.all後工作。非常感謝! – holyredbeard 2013-02-11 21:57:25