Rails 4 - Statesman Gem - 定义当前状态的方法
Rails 4 - Statesman Gem -method to define current state
我正在尝试在 Rails 4 中制作一个应用程序并使用 Statesman 处理状态。
在我的项目模型中,我想显示对象的 :current_state。但是,我不想显示属性的名称。相反,我想写一个人类友好的状态,如果对象处于相应的状态,它可以被渲染。
例如,我定义了一个名为:request_approval的状态。
在我的项目展示页面,我可以写:
<%= @project.current_state %>
输出为request_approval.
如果项目在 current_state :request_approval,我该如何写一些内容:request_approval,渲染:等待对您的批准请求的响应?我可以在我的模型中创建某种方法来做到这一点吗?
在你的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) %>
这是一个选项,可能有更好的解决方案。
我正在尝试在 Rails 4 中制作一个应用程序并使用 Statesman 处理状态。
在我的项目模型中,我想显示对象的 :current_state。但是,我不想显示属性的名称。相反,我想写一个人类友好的状态,如果对象处于相应的状态,它可以被渲染。
例如,我定义了一个名为:request_approval的状态。
在我的项目展示页面,我可以写:
<%= @project.current_state %>
输出为request_approval.
如果项目在 current_state :request_approval,我该如何写一些内容:request_approval,渲染:等待对您的批准请求的响应?我可以在我的模型中创建某种方法来做到这一点吗?
在你的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) %>
这是一个选项,可能有更好的解决方案。