在我的数据库中,我有两个具有多对多关系的表,因此我创建了一个关系表。
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
...