1

我是 Rails 新手,我正在尝试使用复选框来分配两个模型、项目和用户角色之间的关系。在我看来,它如下所示:

<% @projects.each do |project| %>
  <tr>
    <td align="center" bgcolor="#EEFAFF"><%= link_to project.name, project %></td>
    <% if project.beginn? %>
    <td align="center" bgcolor="#EEFFFF"><%= project.beginn.to_s :date %></td>
    <% else %>
    <td align="center" bgcolor="#EEFFFF"><%= '- - - - -' %></td>
    <% end %>
    <% if project.ende? %>
    <td align="center" bgcolor="#EEFAFF"><%= project.ende.to_s :date %></td>
    <% else %>
    <td align="center" bgcolor="#EEFFFF"><%= '- - - - -' %></td>
    <% end %>
    <td align="center" bgcolor="#EEFFFF"><%= project.institut  %></td>
    <td align="center" bgcolor="#EEFFFF"><%= check_box_tag "project", userallowed?(project), project.userroles.size>0 -%></td>
  </tr>
<% end %>

虽然我不知道项目变量可能有什么好处,但用户允许吗?正在调用一个辅助方法,并使用 project.userroles.size 检查这两个模型是否相关。我的辅助方法如下所示:

def userallowed?(projects)
  if @projects        
    @project.userroles << @userrole
  else
    @project.userroles.delete(@userrole)
  end
end

这里的问题是 if 语句。我可以使用什么变量来确定 check_box 是否被选中。虽然我读了很多关于复选框的内容,但我认为我完全误解了这个概念。

4

0 回答 0