我在RoR4中有一个具有以下模型的应用程序:
# Quotation model
class Quotation < ActiveRecord::Base
belongs_to :request
has_one :booking
has_one :review
has_one :coupon, class_name: 'Coupons::Models::CouponRedemption'
delegate :artist, to: :request
delegate :user, to: :request
end
我正在尝试创建一个查询,可以查找显示与某个用户链接的所有Quotation对象。我试着用以下方法做到这一点:
# Scope to filter based on user
scope :_user, -> (user_id) { where user: user_id }
然而,这会返回&#34;未定义的方法`user&#39;&#34;,你知道我做错了吗?
答案 0 :(得分:2)
引号表中没有用户列。代表团只是将方法提交给请求。像这样:
def user
request.user
end
相反,您可以在查询中包含请求:
scope :_user, -> (user_id) { includes(:request).where(requests: { user: user_id}) }