lan*_*son 5 ruby-on-rails active-model-serializers ruby-on-rails-4
我想通过为数据库添加实体URL来进行编辑。如何在序列化器中使用root_url或使用root_path?
像这样:
class TrackSerializer < ActiveModel::Serializer
attributes :id, :title, :mp3, :ogg
has_one :promo_album
def mp3
root_url + object.mp3
end
def ogg
root_url + object.ogg
end
end
Run Code Online (Sandbox Code Playgroud)
但这是行不通的。
问题在于,默认情况下,此处不包括Rails.application.routes.url_helpers。如果您更换
root_url
Run Code Online (Sandbox Code Playgroud)
与
Rails.application.routes.url_helpers.root_url
Run Code Online (Sandbox Code Playgroud)
您应该得到想要的结果。