我有一个带有2个模型的rails json API(Bags
和Items
)。我正在使用MySQL的活动记录序列化程序来组织json输出。我想为所有用户显示所有Bags
,但仅为当前用户显示Items
。
寻找这样的事情:
class Bag < ActiveRecord::Base
has_many :items,-> {where current_user: "#{current_user.id}"},class_name: 'Items'
end
我不知道将current_user.id
属性传递给模型的方法。希望有人知道。
答案 0 :(得分:0)
两件事:
-> {where current_user: ...
)的参数。所以,你不能在联合声明中这样做。所以,我想你必须添加一个范围:
class Bag < ActiveRecord::Base
has_many :items
scope :user_items, ->(user) { where(items: {current_user: user}) }
end
PS。您无需将"#{current_user.id}"
转换为字符串。