所以我在我的数据库中有这个表充满了布尔值,我希望能够在我的一个视图中显示它们,但不是一个简单的“true”或“false”字符串,这是默认的。我是Rails的新手,所以我不知道该怎么做。理想情况下,我会将其显示为用户无法编辑的复选框(因为这是我的节目视图),如果可能的话。但实际上,我对任何不是默认的东西持开放态度。有什么想法吗?
答案 0 :(得分:4)
这可以通过使用助手来实现。 "?"之后的第一个参数是真实的情况;错误的案例遵循":"。
下面的例子使用了glyphicons,因为你提到了想要一个复选标记,但你可以插入" Yes"和"不"或者你想要的任何字符串或HTML。
def bool_to_glyph(value)
value ? "<span class='glyphicon glyphicon-ok' aria-hidden='true'></span>".html_safe : "<span class='glyphicon glyphicon-remove' aria-hidden='true'></span>".html_safe"
end
要显示结果,请在视图中调用
<%= bool_to_glyph(table_boolean_value) %>
注意:对于简单的字符串显示,例如&#34;是&#34;和&#34;不&#34;你不需要调用html_safe。
value ? "yes" : "no"
编辑:帮助方法
辅助方法包含在app / helpers / [modelnameplural] _helper.rb
下module ExamplesHelper
def bool_to_glyph(value)
value ? "<span class='glyphicon glyphicon-ok' aria-hidden='true'></span>".html_safe : "<span class='glyphicon glyphicon-remove' aria-hidden='true'></span>".html_safe"
end
end
如果希望帮助程序可供所有控制器使用,请将该方法添加到application_helper.rb。