ruby-on-rails - 事件模型序列化器中的 Assets 管道

标签 ruby-on-rails ruby-on-rails-4 asset-pipeline active-model-serializers

我试图通过包含ActiveView::Helpers来在模型序列化器输出中包含图像 Assets 管道url:

class PostSerializer < ActiveModel::Serializer
  include ActiveView::Helpers

  attributes :post_image

  def post_image
    image_path "posts/#{object.id}"
  end
end

结果是/images/posts/{id},而不是 Assets 管道路径的有效路径,即。 /assets/images/posts/{id}。如何在序列化器输出中包括有效的 Assets 管道路径?

最佳答案

也许这可以工作:

def post_image
  _helpers = ActionController::Base.helpers
  _helpers.image_url "posts/#{object.id}"
end

关于ruby-on-rails - 事件模型序列化器中的 Assets 管道,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20361511/

相关文章:

css - jQuery UI 的 @imports 导致许多 HTTP 请求,破坏了串联的目的

javascript - 如何在 Vuex 的 Action 中调用 Action

ruby-on-rails - Rails 中先模型还是先迁移?

ruby-on-rails - Rails 4,Mailer预览,预览附加图像

ruby-on-rails - ArgumentError - 符号的转储格式错误 (0x69)

javascript - 不对某些 Assets 进行预编译 - Rails

ruby-on-rails - 如何识别和处理文本字符串中的所有 URL?

ruby-on-rails - 如何最好地编写 RSpec 自定义匹配器来测试 Rails 应用程序中的访问控制

ruby-on-rails-4 - 使用Bundle作用域外的Rake执行系统命令

ruby-on-rails - validates_inclusion_of 在 Rails 4.1 中不再正常工作?