我正在寻找一种方法来检查某些对象是否包含在多态关联中。
我的例子是
language.rb(这本质上是可用语言的列表)
has_many :user_languages
用户语言.rb
belongs_to :language
belongs_to :speakable, :polymorphic => true
用户.rb
has_many :languages, :class_name => 'UserLanguage', :as => :speakable
现在我想检查用户是否有某种语言。我的想法是以include?
一种形式使用方法
u = User.find(1)
l = Language.find(1)
u.languages.include?(l)
但它总是返回,false
虽然u.languages
给出
#<UserLanguage id: 1, language_id: 1, speakable_id: 1, speakable_type: "User">
安排此检查的正确方法是什么?
谢谢!