Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/22.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 如何将块传递到Rails.application.config.assets?_Ruby_Ruby On Rails 4_Asset Pipeline_Assets - Fatal编程技术网

Ruby 如何将块传递到Rails.application.config.assets?

Ruby 如何将块传递到Rails.application.config.assets?,ruby,ruby-on-rails-4,asset-pipeline,assets,Ruby,Ruby On Rails 4,Asset Pipeline,Assets,我正在编写rails 4应用程序,并试图重构assets.rb文件 当前状态: Rails.application.config.assets.enabled = true Rails.application.config.assets.version = '1.0' Rails.application.config.assets.prefix = '/sprockets' Rails.application.config.assets.precompile += %w(404.html 50

我正在编写rails 4应用程序,并试图重构assets.rb文件

当前状态:

Rails.application.config.assets.enabled = true
Rails.application.config.assets.version = '1.0'
Rails.application.config.assets.prefix  = '/sprockets'
Rails.application.config.assets.precompile += %w(404.html 500.html)
Rails.application.config.assets.precompile << %w( big array of css files)
Rails.application.config.assets.precompile << %w( big array of js files)
Rails.application.config.assets.enabled=true
Rails.application.config.assets.version='1.0'
Rails.application.config.assets.prefix='/sprockets'
Rails.application.config.assets.precompile+=%w(404.html 500.html)

Rails.application.config.assets.precompile我对Rails不是很熟悉,但类似这样的东西可以作为一种解决方法:

def configure_assets obj
  yield obj
end

configure_assets(Rails.application.config.assets) do |asset|
  asset.enabled = true
  asset.version = '1.0'
  # ...etc....
end

这是不可能的,因为如果查看其签名,资产不期望s块。您可以传递它,但它不会对资产产生任何影响。

使用
点击

Rails.application.config.assets.tap do |assets|
  assets.enabled = true
  # ...
end

非常糟糕。谢谢对rails的pull请求呢?:)@bmalets,无需,尝试创建一个等于Rails.application.config.assets的临时变量并使用它。我现在无法检查它是否有效。
Rails.application.config.assets.tap do |assets|
  assets.enabled = true
  # ...
end