我正在尝试在Rails 4中创建一个应用程序,并使用Statesman作为状态。
在我的项目模型中,我想显示对象的:current_state。但是,我不希望出现属性的名称。相反,我想编写一个人类友好状态,如果对象处于相应状态,则可以渲染。
例如,我定义了一个名为:request_approval的状态。
在我的项目展示页面中,我可以写:
<%= @project.current_state %>
,输出为request_approval。
如何编写一些内容,说明项目是否在current_state中:request_approval,render:等待对您的批准请求的响应?我可以在我的模型中使用某种方法来做到这一点吗?
答案 0 :(得分:0)
在projects_helper
中,您可以编写方法:
def text_for_state(state)
case state
when 'request_approval'
'Awaiting Response'
when 'something_else'
'Then Something Else'
end
end
在你看来,只写:
<%= text_for_state(@project.current_state) %>
这是一个选项,可能有更好的解决方案来做到这一点。