2016-03-22 15 views
0

私はRails 4でアプリケーションを作って、StatesmanのためにStatesmanを使ってみようとしています。Rails 4 - Statesman Gem - 現在の状態を定義する方法

私のプロジェクトモデルでは、オブジェクトのcurrent_stateを表示します。しかし、私は属性の名前を表示したくありません。代わりに、オブジェクトが対応する状態にある場合にレンダリングできる人間フレンドリーな状態を記述します。

たとえば、request_approvalという状態を定義しました。

<%= @project.current_state %> 

を、出力はrequest_approvalです:私のプロジェクトで

は、ページを表示する、私は書くことができます。

プロジェクトがcurrent_stateにある場合はどうすればいいですか:request_approval、render:承認のリクエストに対する応答を待っていますか?私のモデルで何らかの方法でそれを行うことはできますか?これは、これを行うには良い解決策があるかもしれないオプションです

<%= text_for_state(@project.current_state) %> 

def text_for_state(state) 
    case state 
    when 'request_approval' 
    'Awaiting Response' 
    when 'something_else' 
    'Then Something Else' 
    end 
end 

そして、ちょうど書くあなたのビューで:あなたのprojects_helperあなたがメソッドを書くことができて

+0

「ヘルパー」メソッドを必要に応じて作成します。そして、あなたはスイッチケースを使用することができます – Deep

+0

こんにちは、深い、私はどのようにそれを行うだろうか? – Mel

答えて

0

+0

それは動作していないようです。テキストを表示する場所を空白にします。 – Mel

+0

状態の代わりに(current_state)を書き込むと正常に動作します。どうもありがとう – Mel