私たちのアプリケーションには、Railsアプリケーションを実行している5つのWebサイトに共通のコードを提供するgemがあります。ファイル内のgemにlib/theme/controller_module.rb
は、次のコードが含まれています。
def application_javascripts(*items)
@application_javascripts ||= []
@application_javascripts += items
end
ファイル内のgemにhelpers/theme_helper.rb
は、次のコードが含まれています。
def application_js_include_tag
if @application_javascripts
javascript_include_tag( *@application_javascripts)
end
end
テーマの宝石は、各アプリケーションのにありGemfile
ます。コントローラコードとヘルパーではapplication_javascripts
、ページで使用されているページ固有のJavaScriptを追跡するために実行されapplication_js_include_tag
、ビューの下部に配置されて、それらのいくつかのファイルのみが使用可能になります。
残念ながら、@application_javascripts
ビューのレンダリングが開始されると、ビューの値は更新されないようです。ヘルパーで発生する追加は、ページの下部で実行された@application_javascripts
ときにビューで使用できません。そこで定義された変数のapplication_js_include_tag
ような別のヘルパーが必要で、両方をで使用しますか?または他の解決策?application_javascripts
application_js_include_tag