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
私がレールコンソールでそのように呼び出すと:
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
ます。