javascript - 如何从 application.js 在 rails 中访问 yml 文件?

标签 javascript ruby-on-rails ruby-on-rails-3 ruby-on-rails-3.2 yaml

我有一个 yml 文件,我需要在脚本中的 application.js 文件中使用 key 。我无法从脚本访问它。请帮我。我在初始化程序中有以下几行

APP_CONFIG = YAML.load_file("#{Rails.root}/config/filename.yml")[Rails.env]

我的 yml 文件中有以下键

development:
  key1: 782364764527225794828437
  key2: sdjfbjs7e834284383984729
  key3: 73465365egfrf36462874727

我以

的形式访问 application.js 文件中的键
APP_CONFIG['key1']

但是好像什么都不带。但是当我在 View 主体中打印同样的东西时

<%= APP_CONFIG['key1'] %>

然后它返回 key1 的值。

我应该怎么做才能访问 application.js 文件中的值。它也不适用于 View 本身的脚本主体。

最佳答案

您不能在 Javascript 文件中执行 ruby​​ 命令

你需要找出一些其他方法来加载 application.js 中的值

比如在 app/views/layouts/application.html.erb 中将它们初始化为全局变量

<script>
  var key = '<%= APP_CONFIG['key1'] %>';
</script>

并在任何 Javscript 文件中使用它

 window.onload=function(){ alert(key);};

关于javascript - 如何从 application.js 在 rails 中访问 yml 文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20834608/

相关文章:

javascript - 将数据从 MySQL 传递到 Vue.js 数据属性

ruby-on-rails - 单元测试隔离 : 20 lines of test for 1 line of code?

ruby-on-rails - rails5 api + devise_token_auth : no access-token and uid returns after login successfully via omniauth2

jquery - Rails Ajax create.js.erb 如何重新加载部分?

css - 如何在rails提交按钮中放置图标

javascript - 循环遍历数组以在 react 路由器中创建路由

javascript - Bootstrap DateTime Picker 未正确显示其隐藏在屏幕上

javascript - Bootstrap 让文本看起来像按钮

ruby-on-rails - 名称错误 : uninitialized constant DeviseMultipleTokenAuthDevice

ruby-on-rails - Rake 测试失败 - RunTimeError