我有一个愚蠢的问题:我有一个 javascript 文件,其中包含一些从 rails 中“获取”的 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/'
};
问题是我的文件没有被预编译,这很奇怪,因为在文件内部,我使用的只是配置选项,没有数据库或类似的东西。
所以我的问题是,我该如何解决这个问题?有没有办法强制使用所需的常量编译该文件,或者有没有办法在不编译的情况下加载它?