2017-01-18 11 views
0

私はモデルDocumentとモデルKeyWordを持っています。Rails:関連するエントリをすべて見つけてくださいhabtm

テーブルキーワードには、キーワードがドキュメントに関連付けられているものよりも多くのエントリがあります。

実際にドキュメントに関連付けられているキーワードのみを選択する必要があります。

私が試してみた:

Document.keywords.map { |e| e.keywrd } 

と、これを:

Document.keywords.select(:keywrd) 

このエラーを返すこと:

NoMethodError: undefined method `keywords' for #<Class:0x007fcd100d2b38> 

答えて

1

あなたはちょうどそれは、内側が

に参加しないだろうから、あなたに書類を持っているすべてのキーワードを取得する必要があります

Keyword.joins(:documents) 

を行うことはできません

0

あなたが特定のDocumentが最初に見つける必要があります。

document = Document.find(1) 
document.keywords 

キーワードすべてがDocumentクラスのインスタンスに属しています。

0

例では、インスタンス化されたオブジェクトを必要としない静的メソッドを使用しています。彼の答えにはHassaninというオブジェクトから呼び出されます。

そして、ドキュメントとキーワードの関連付けが宣言されていることを確認してください。

関連する問題