我有一个部分“person.css.erb”:
#caption {
background-image: url(<%= asset_data_uri("caption.png") %>);
text-align: center;
}
当渲染部分时,它会失败:
undefined method `asset_data_uri'
rails asset pipeline 指南有一个使用此方法的示例:http://guides.rubyonrails.org/asset_pipeline.html
类似的助手工作,例如。 Assets 路径。我正在使用 Rails 3.2.8。该指南是否已过时?该方法是否已重命名?我需要做一些特别的事情才能包含这个助手吗?
最佳答案
在我的 View 中使用 asset_data_uri
时,我遇到了同样的错误(asset_path
有效),但无法找出原因。这不完全是您的问题,但我可以通过将其添加到我的 application_helper.rb
中来解决我的问题:
# Copied from Sprockets::Context.asset_data_uri, and slightly modified.
def asset_data_uri path
asset = Rails.application.assets.find_asset path
throw "Could not find asset '#{path}'" if asset.nil?
base64 = Base64.encode64(asset.to_s).gsub(/\s+/, "")
"data:#{asset.content_type};base64,#{Rack::Utils.escape(base64)}"
end
关于ruby-on-rails - 未定义方法 `asset_data_uri' - Rail 3.2,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12828030/