我正在为我工作的安全公司创建一个应用程序。我有一些布尔值很重的表单,并且有大量的复选框,用户可以选择各种事件类型/描述等。< / p>
目前我在_form页面中应用的复选框如下:
<td><center><div class="control-group"><div class="controls"><%= f.check_box :on_site_owner %></div></div></center></td>
我的节目页面上的显示如下:
<td><center><div class="control-group"><div class="controls"><%= @resident_owner.on_site_owner %></div></div></center></td>
我希望完成的是两件事之一。并且要么将工作得很好我只是不知道如何实现它...并且无法找到它的方向。
1)在显示页面上填充一个列表,只显示选中的或#34; true&#34;框。
2)仅在展示页面上显示真实值而不是真值和假值。
我真的更喜欢选项一,以便于阅读,因此查看它的客户端不会进入真/假超载。
非常感谢任何帮助。提前致谢。
答案 0 :(得分:2)
要在展示页面中使用复选框,您可以使用check_box_tag
辅助方法。文档here。例如:
<td>
<center>
<div class="control-group">
<div class="controls">
<%= check_box_tag "On Site Owner, @resident_owner.on_site_owner, @resident_owner.on_site_owner,disabled: true %>
</div>
</div>
</center>
</td>
但是为了更好的UI设计,我会创建一个帮助器来生成检查(勾选图标)或取消选中给定值的图标并在erb中使用它。例如:
module ApplicationHelper
def show_check_icon(boolean_value)
if boolean_value then
"<i class='fa-li fa fa-check-square'></i>"
else
"<i class='fa-li fa fa-square'></i>"
end
end
end
希望有所帮助。
答案 1 :(得分:0)
我使用了与@dreamingblackcat 类似的字体,并将其更改为字体很棒:
def show_check_icon(boolean_value)
if boolean_value
%{<i class='fas fa-check'></i>}.html_safe
else
%{<i class='fas fa-times'></i>}.html_safe
end