特定のオブジェクトがポリモーフィック アソシエーションに含まれているかどうかを確認する方法を探しています。
私の例は
language.rb (これは本質的に利用可能な言語のリストです)
has_many :user_languages
user_language.rb
belongs_to :language
belongs_to :speakable, :polymorphic => true
user.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">
この小切手を手配する適切な方法は何ですか?
ありがとうございました!