【问题标题】:Rails 4 preprocessing coffee.erbRails 4预处理coffee.erb
【发布时间】:2014-09-25 15:17:01
【问题描述】:

所以我有一个app/assets/javascript/sites.js.coffee.erb 文件。

我做到了:

#lots of stuff
formData: '<%= @s3_direct_post[:fields] %>',
#and more stuff

结束于:

undefined method `[]' for nil:NilClass

这似乎表明 rails 没有预处理 erb 文件。我尝试省略 .erb 扩展名,留下 app/assets/javascript/sites.js.coffee,但这也无济于事。

正确的 rails 4 预处理如何工作??? 我很困惑,因为 sites_controller 正确地创建了 @s3_direct_post 对象, 而且可以用在app/views/sites/upload.html.erb就好了……

【问题讨论】:

  • 实际上它似乎表明它实际上确实进行了预处理,但是由于某种原因该对象为零...但是我可以在视图中访问它...???
  • 看起来@objects 在我的咖啡脚本中不可用...
  • 查看文档guides.rubyonrails.org/… 我开始怀疑这是不可能的,只允许助手?
  • 为什么要在/assets/ 目录中添加.erb 文件?如果您的 sites_controller 操作响应 JS 格式,那么您可以在视图中添加一个 [action].js.erb 文件,否则,将您的 JS 逻辑与 Rails 逻辑分开。
  • @mmichael RoR 不是我最强的技能,而我所知道的实际上可以追溯到 2.3x 3.0.x 倍...我很高兴您的推荐,我会尝试的。我认为所有 javascript 的东西都会进入 /assets ....

标签: ruby-on-rails ruby-on-rails-4 coffeescript preprocessor


【解决方案1】:

在这里我找到了我实施的答案:)

http://railscasts.com/episodes/324-passing-data-to-javascript

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-02-24
    • 1970-01-01
    • 2014-02-21
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多