我有一个角色表,其中包含一个属性:name。
我试图在集合选择中使用角色名称列表。
,而不是按照记录在数据库中的方式列出:名称例如,:name在数据库中存储为:admin的实例。我想在集合中选择' Administrator'。
我试着写一个角色助手说:
模块RolesHelper
def text_for_role(name)
case name
when 'guest'
'Guest - Trial Account'
when 'admin'
'Administrator'
when 'representative'
'Representative'
etc, etc
但是这个选项在这个上下文中不起作用,因为我想列出所有的角色,但是参考它们写得很好。
我有这个集合选择:
<%= select_tag "roles", options_from_collection_for_select(@roles, "id", "<%= text_for_role(name)%>"), :multiple => true, :class => 'chosen-select form-control' %>
有谁能看到我如何编写可以在整个集合选择选项列表中使用的助手或演示者?
答案 0 :(得分:0)
创建一个类级变量,如:
class MyClass
ROLES = [
['Guest - Trial Account' ,'guest' ],
['Administrator' , 'admin'],
['Representative' , 'representative']
]
end
然后在视图上访问它们:
<%= select_tag 'roles', MyClass::ROLES %>
更多信息:Here