如何将一个块传递给 Rails.application.config.assets?
How pass a block into Rails.application.config.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 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 do |assets|
assets.enabled = true
assets.version = '1.0'
assets.prefix = '/sprockets'
assets.paths << "#{Rails.root}/app/assets/plugins"
assets.paths << "#{Rails.root}/app/assets/html"
assets.precompile += %w(404.html 500.html)
assets.precompile << /\.(?:svg|eot|woff|ttf|swf)\z/
# css
assets.precompile << %w( big array of css files)
# js
assets.precompile << %w( big array of js files)
end
是否可以将代码块传递给 Rails.application.config.assets
?
我对 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
不可能,因为如果您查看它的签名,assets 并不期望 s 块。可以传,但对资产没有任何影响
使用tap
:
Rails.application.config.assets.tap do |assets|
assets.enabled = true
# ...
end
我正在编写 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 do |assets|
assets.enabled = true
assets.version = '1.0'
assets.prefix = '/sprockets'
assets.paths << "#{Rails.root}/app/assets/plugins"
assets.paths << "#{Rails.root}/app/assets/html"
assets.precompile += %w(404.html 500.html)
assets.precompile << /\.(?:svg|eot|woff|ttf|swf)\z/
# css
assets.precompile << %w( big array of css files)
# js
assets.precompile << %w( big array of js files)
end
是否可以将代码块传递给 Rails.application.config.assets
?
我对 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
不可能,因为如果您查看它的签名,assets 并不期望 s 块。可以传,但对资产没有任何影响
使用tap
:
Rails.application.config.assets.tap do |assets|
assets.enabled = true
# ...
end