使用Rails在视图中显示数据库中的布尔值

时间:2015-05-26 18:24:12

标签: ruby-on-rails boolean

所以我在我的数据库中有这个表充满了布尔值,我希望能够在我的一个视图中显示它们,但不是一个简单的“true”或“false”字符串,这是默认的。我是Rails的新手,所以我不知道该怎么做。理想情况下,我会将其显示为用户无法编辑的复选框(因为这是我的节目视图),如果可能的话。但实际上,我对任何不是默认的东西持开放态度。有什么想法吗?

1 个答案:

答案 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。