我有4个班级:
class User < ApplicationRecord
has_many :memories
has_many :playlists
has_many :items, as: 'playlist_items', through: :playlists
has_many :items, as: 'memory_items', through: :memories
end
class Item < ApplicationRecord
belongs_to :itemable, polymorphic: true, optional: true
end
class Playlist < ApplicationRecord
belongs_to :user
has_many :items, as: :itemable, dependent: :destroy
accepts_nested_attributes_for :items, allow_destroy: true
end
class Memory < ApplicationRecord
belongs_to :user
has_many :items, as: :itemable, dependent: :destroy
accepts_nested_attributes_for :items, allow_destroy: true
end
我希望能够从current_user获取任何类型的项目,即内存或播放列表。但是现在我只能得到1套..如果我在用户中有这个:
has_many :items, through: :playlists
我目前无法弄清楚如何在列表中执行这两项操作。 &#39;作为&#39;似乎没有效果。任何建议都会非常有用吗?
答案 0 :(得分:1)
您不能同时拥有相同名称的关联,您可以专门指定源。试试这样:
user.playlist_items
当然,您使用user.memory_items
和import com.jayway.jsonpath.JsonPath
if (prev.getResponseCode() == '200') {
def responseText = JsonPath.read(prev.getResponseDataAsString(),'$.MessageObj.Text').get(0)
vars.put('ResponseText', responseText)
}
else {
vars.put('ResponseText','Response code is: ' + prev.getResponseCode())
}
代替。