所以试图scope
在我的user
模型中写一个,我似乎无法让它工作。
我的user
模型看起来有点像这样
class User < ActiveRecord::Base
has_one :user_profile
scope :api_user, lambda { |member_code| joins(:users, user_profiles).where('user_profiles.member_code = ?', member_code)}
我的user_profiles
模型看起来像这样:
class UserProfile < ActiveRecord::Base
belongs_to :user
当我scope
像这样在rails控制台中调用时:
User.api_user(4321)
我收到此错误:
ActiveRecord::ConfigurationError: Association named 'users' was not found; perhaps you misspelled it?
我是范围的新手,如果我这样做,我知道如何在没有它们的情况下执行此操作:
User.find_by_id(UserProfile.find_by_member_code(4321).user_id)
它返回的正是我想要的。但是我需要多次使用它,(写一个api
)所以我真的很想开始scope
工作。