2012-01-12 14 views
0

現在、Rails 3アプリケーションのコントローラメソッドに解析メソッドを追加しようとしています。Rails 3カスタムメソッドの場所

def control 
    @device = Device.find(params[:id]) 
    <do things> 
    parse_return(@returned_data) 
end 

を、私は以下のようにコントローラにカスタムメソッドを追加(任意のルートを持っていないであろう、この方法のみアクションをコントローラにアクセス可能になる):次のように

Iは、コントローラのアクションを有する

def parse_return 
    <parse data> 
end 

ただし、これはparse_returnメソッドを使用できるようには見えません。 Railsアプリケーションのどこかに再利用可能なメソッドを置くことができますか?

ありがとうございます!

+0

エラーが発生しますか? –

答えて

0

一見すると、あなたは応答を出さないようです。 controlアクションに関連付けられたビューがないのは本当ですか?

この場合、手動でrenderに電話する必要があります。たとえば、JSONレスポンスを表示するには、次のようにします。

def control 
    # ... 

    render :json => parse_return(@returned_data), 
     :content_type => 'application/json', 
     :layout => false 
end 
0

エラーの内容を含める必要があります。

これを試すとどうなりますか?

def parse_return(returned_data) 
    <parse data> 
end 

おそらく、この方法ではパラメータがそれと共に渡されるとは考えられません。

+0

また、モデル内にメソッドを配置し、必要に応じてコントローラからメソッドを呼び出すこともできます。 – joseph

関連する問題