キーワード検索アルゴリズムを書いています。キーワードはkeywordsテーブル/モデルに保存され、送信 (検索が行われる) はsubmissionsテーブル/モデルに保存されます。セットアップに従って(私が確信していることは)一意にリンクするsubmission_keywordsテーブルもあります。ただし、ビューにforを表示しようとすると:submissionskeywordsidshas_many :throughkeywordssubmissionShow
<p>
<b>Keywords:</b>
<% @submission.keywords.each do |kw| %>
<%= kw.name %>
<% end %>
</p>
エラーが発生します:
ActiveRecord::HasManyThroughAssociationNotFoundError
Could not find the association :submission_keyword in model Submission
これら3つのモデルのコードは次のとおりです。
Submission.rb:
class Submission < ActiveRecord::Base
attr_accessible :count, :is_sent, :is_success, :stamp, :url
has_many :submission_keywords, :dependent => :destroy
has_many :keywords, :through => :submission_keyword
end
キーワード.rb:
class Keyword < ActiveRecord::Base
attr_accessible :name, :priority, :type
has_many :submission_keywords, :dependent => :destroy
has_many :submissions, :through => :submission_keyword
end
Submission_Keyword.rb
class SubmissionKeyword < ActiveRecord::Base
attr_accessible :freq, :keyword_id, :submission_id, :weight
belongs_to :submission
belongs_to :keyword
end
ビューで をリクエストするコードは次のとおりkeywordsです。submission
has_manyモデルとの関連付けを忘れている投稿をたくさん見てきましたが、:throughご覧のとおり、それを取り上げました。何がうまくいかないのでしょうか?