0

私は愚かな問題を抱えています:私は、レールから「フェッチ」されるいくつかのjavascript定数(すべてのjavascriptコードで使用される)を含むjavascriptファイルを持っています。

コードは単純です:

var CrossJavascriptSettings = {
  desktop_columns: <%= Rails.configuration.extjs_desktop[:icon_columns] %>,
  recaptcha_public_key: '<%= Recaptcha.configuration.public_key %>',
  tasks_icon_image: '<%= image_path('icons/Clock.png') %>',
  no_image: '<%= image_path('icons/Delete.png') %>',
  loading_image: '<%= image_path('ext-icons/loading.gif') %>',

  loading_image_preloaded: new Image().src = '<%= image_path('ext-icons/loading.gif') %>',
  no_image_preloaded: new Image().src = '<%= image_path('icons/Delete.png') %>',
  tasks_icon_image_preloaded: new Image().src = '<%= image_path('icons/Clock.png') %>',

  available_roles: <%= Rails.configuration.available_roles.each_with_index.collect { |element, index| [index, element] }.as_json %>,

  organizations_logo_path: '/assets/organizations/logos/'
};

問題は、ファイルがプリコンパイルされないことです。ファイル内では、構成オプションのみであり、データベースなどは使用していないため、これは非常に奇妙です。

だから私の質問は、どうすればこの問題を解決できますか?必要な定数を使用してそのファイルを強制的にコンパイルする方法はありますか、またはコンパイルせずにファイルをロードする方法はありますか?

4

1 に答える 1

0

「別の方法で」解決しました。それはできません。application.html.erbでこれらの定数を移動するか、AJAXを介してロードする必要があります。

于 2012-11-18T17:39:01.287 に答える