Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/55.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 是否可以让Rails资产管道在每个请求上编译Coffeescript?_Ruby On Rails_Coffeescript_Asset Pipeline - Fatal编程技术网

Ruby on rails 是否可以让Rails资产管道在每个请求上编译Coffeescript?

Ruby on rails 是否可以让Rails资产管道在每个请求上编译Coffeescript?,ruby-on-rails,coffeescript,asset-pipeline,Ruby On Rails,Coffeescript,Asset Pipeline,我正在使用Coffeescript构建一个JS小部件。我正在玩一些技巧,以便在编译时将CSS/SCSS和HTML/HAML模板放入JS小部件: # widget.js.coffee.erb class Widget constructor: (options) -> @template = <%= Haml::Engine.new( File.read( File.expand_path("../../templates/widget.html.haml",

我正在使用Coffeescript构建一个JS小部件。我正在玩一些技巧,以便在编译时将CSS/SCSS和HTML/HAML模板放入JS小部件:

# widget.js.coffee.erb
class Widget
  constructor: (options) ->
  @template = <%= Haml::Engine.new(
    File.read(
    File.expand_path("../../templates/widget.html.haml", __FILE__))).
    render.to_json %>

  @css = <%= Sass.compile_file(
    File.expand_path("../../stylesheets/widget.css.scss", __FILE__)).
    to_json  %>
#widget.js.coffee.erb
类小部件
构造函数:(选项)->
@模板=
@css=
问题是,当我更改HTML或CSS时,Rails没有在开发中重新编译Coffeescript,因为Coffeescript文件没有更改。我需要进行愚蠢的空白更改,以迫使它重新编译内容。这越来越烦人了:-)

关于如何强制资产管道在每次请求时编译某些文件,您有什么想法吗?

明白了。链轮有一个指令。将以下行添加到my widget.js.coffee.erb解决了此问题:

# coffee.js.coffee.erb
#= depend_on '../templates/widget.html.haml'
#= depend_on '../stylesheets/widget.css.scss'

class Widget
...