我是 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 是否被选中。虽然我读了很多关于复选框的内容,但我认为我完全误解了这个概念。