0
Controllers
-concerns
-application_controller.rb
-display_controller.rb
Helpers
-application_helper.rb
-display_controller.rb
ヘルパーファイルをaccrodingにdisplay_controller.rbのRails:コントローラはdisplay_helper.rbで
class DisplayController < ApplicationController
include ApplicationHelper
include DisplayHelper
def update
@c = is_c
end
end
で
module DisplayHelper
def is_c
a + b
end
end
の方法を見つけることができない私は更新アクション作品で@c = is_c
をしたい場合は、問題がありますコントローラでinclude DisplayHelper
を実行する必要があります。そうしないと、is_cの結果を@cに割り当てることができません。ヘルパーファイルの通常のメソッドは、コントローラをインクルードすることなく使用することができますが、このリソースでは動作しません。
ヘルパーは、これをコントローラに含める必要がある場合は、 'include'や' helper'メソッドが利用できるようにするためのビューです。それは、私が「援助者」の有用性を大いに信じているわけではないと言われています。彼らはグローバルなあいまいさを作り出すことができます。 – engineersmnky
@engineersmnkyあなたの答えをありがとう。私のアプリケーションがより複雑になるにつれて、コントローラ内のコードもまた固まってしまいます。ヘルパーファイルを移動しなければ、コントローラのコードを減らす方法を知っていますか? –
おそらく、レールのSRPデザインパターンの最も有益なブログ記事の1つhttp://blog.codeclimate.com/blog/2012/10/17/7-ways-to-decompose-fat-activerecord-models/ – engineersmnky