0
我有一个用户模型(用于认证/授权)与关联的配置文件模型(用于关于用户的信息,即头发颜色)。范围关联属性模型
我想创建一个范围来查找所有具有特定属性的用户。即:所有深色头发的人(头发颜色是黑色或棕色),或所有轻头发的人(头发颜色是金色或银色)。
我可以找到所有配置文件的黑头发,但我如何找到关联的用户。
应用程序/模型/ user.rb:
class User < ActiveRecord::Base
has_one :profile
应用程序/模型/ profile.rb
class Profile < ActiveRecord::Base
belongs_to :user
scope :dark_hair, -> { where('hair_color = ? or hair_color = ?', 'black', 'brown' }
scope :light_hair, -> { where('hair_color = ? or hair_color = ?', 'blond', 'silver' }
所以我能找到的配置文件:
irb>> Profile.dark_hair
但我做不到没有得到用户(这些都不起作用):
irb>> Profile.dark_hair.user
irb>> Profile.dark_hair.users
irb>> User.profile.dark_hair
我该如何询问我想要的用户?或者范围应该在用户上?我试过,但无法弄清楚如何正确书写它。
感谢这个工作!即使在原始的非简化版本上。 – MERM