私の目標はapplication_helper
にテンプレートで使用するメソッドのみを使用することです。それ以外の場合はapplication_helper
が長くなります。レールはレイアウトのヘルパーをアプリケーションとは別のモジュールで移動します
私の問題は、接尾辞Helper
に依存しています:
これは
# app/helpers
module ApplicationHelper
include ApplicationLayout
end
# app/helpers/layouts
module ApplicationLayout
def my_helper
puts 'my_helper!'
end
end
に動作します。これはエラーではありません
# app/helpers
module ApplicationHelper
include ApplicationLayoutHelper
end
# app/helpers/layouts
module ApplicationLayoutHelper
def my_helper
puts 'my_helper!'
end
end
ん:
Expected app/helpers/layouts/application_layout_helper.rb to define Layouts::ApplicationLayoutHelper
だから、私が得る私の巣:
Routing Error undefined method `sub' for nil:NilClass
実際に私が実装(あなたの意見を与える)app/helpers/layouts/application_helper.rb
したいのですが、私はこのケースを述べた単純化のためので、それは、同じエラーを与えます。
レイアウト用のヘルパーメソッドを抽出する方法に関する提案はありますか?私が使用できる設定よりも慣例がありますか?
が
はい、あなたは正しいです!なぜ私はそれを逃したのですか? - レイアウトモジュールのメソッドにテンプレートでアクセスすることはできますが、実際にはそこでは使用しないので、それらを分離して保存し、ファイルを小さく保ち、別々の概念を保持したいと思います。 - ありがとう – ecoologic
gmaps4rails https://github.com/apneadiving/Gmaps4railsにもありがとう、私はそれをチェックしています! – ecoologic