ruby-on-rails - 未定义方法 `asset_data_uri' - Rail 3.2

标签 ruby-on-rails

我有一个部分“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/

相关文章:

css - 如何在 Susy 网格元素中执行预定义的 CSS 文件?

ruby-on-rails - rspec :type? 的有效值是什么

ruby-on-rails - 使用 Gettext 处理语法性别

ruby-on-rails - 禁用第一个 nil 选项 - rails

ruby-on-rails - 在循环中的辅助函数中调用 "Array.delete"会使数组每次都更改?

ruby-on-rails - Coveralls 未发送 Pull Request 状态

ruby-on-rails - Rest-Client Ruby Gem header

javascript - 如何将 RoR 中的按钮更改为超文本

ruby-on-rails - 使用 Rails 3 Hook gem 以在 Rack 堆栈上添加中间件

ruby-on-rails - ActiveRecord Transaction并返回模型保存的id