0
我正在尝试搜索数据集的值。如果数据集包含该值,则该应用会执行某些操作。如果没有,应用程序会做其他事情。Rails子集选择始终返回true
数据分解如下:我有分支机构和用户,每个分支机构和用户都与另一个HABTM关系相关。我有一个页面,用户可以注册附属公司,这些附属公司显示为一组复选框。
我想要一个用户当前注册的所有分支机构的复选框。
下面是该视图(HAML)的代码
- @affiliates.each do |a|
%li
%label{ :for => "affiliate_#{a.id}"}= a.name
- if @current_user.affiliates.select{ |ua| ua.id == a.id }
= check_box_tag "affiliate_list[#{a.id}]", 1, true, {:id => "affiliate_#{a.id}"}
- else
= check_box_tag "affiliate_list[#{a.id}]", 1, false, {:id => "affiliate_#{a.id}"}
该代码总是返回true,因此,检查盒子,即使一个分支机构用户尚未注册。
我抬头看.select方法,但我一直想出表单助手的东西。
@ current_user.affiliates.select {| ua | ua.id == a.id}返回[]最好不是false ... so @ current_user.affiliates.select {| ua | ua.id == a.id} == [] 会是正确的,但看起来很丑陋 并不是所有关于美丽代码的栏目;) – elmac 2010-08-02 17:04:06