我有一个用户表,用户可以成为朋友'彼此。以下关系位于user.rb
并且正常运行:
has_many :friendships
has_many :friends, through: :friendships
当我运行User.first.friendships
或User.first.friends
时,一切正常。
这是我的问题......我在名为friendships
的{{1}}表上添加了一列。我只想要accepted_on
并非零的友谊。我使用以下代码来做到这一点:
accepted_on
现在如果我运行has_many :friendships, -> (object) { where.not(accepted_on: nil) }
has_many :friends, through: :friendships
,一切都按计划运行。如果我运行User.first.friendships
,我会收到以下错误:User.first.friends
这可能吗?
答案 0 :(得分:1)
您未在关联中使用object
。那么为什么不删除呢?
变化
has_many :friendships, -> (object) { where.not(accepted_on: nil) }
到
has_many :friendships,-> { where.not(accepted_on: nil) }