* _url无法在rails 4中运行ActiveRecord Serializer

时间:2015-08-15 10:42:22

标签: model ruby-on-rails-4.2 active-model-serializers rails-api

我得到了未定义的方法:

undefined method `url' for TrackSerializer:Class

但我的目标是在我的json响应中使用相关对象url的url

这是我的模特:

class TrackSerializer < ActiveModel::Serializer

  attributes :id, :title
  has_many :playlists
  has_one :album

  url :track

end

这是我在回复中想要实现的目标:

{
    "tracks": [
        {
            "id": 7,
            "title": "True love",
            "playlists_url": "http://localhost:3000/7/playlist",
        }
    ]
}

1 个答案:

答案 0 :(得分:2)

我会继续创建一个PlaylistSerializer,它只返回对象的url:

class PlaylistSerializer < ActiveModel::Serializer
  attributes :url

  def url
    Rails.application.routes.url_helpers.playlist_url(object)
  end
end

从TrackSerializer中删除url :track