キーワード検索アルゴリズムを書いています。キーワードはkeywords
テーブル/モデルに保存され、送信 (検索が行われる) はsubmissions
テーブル/モデルに保存されます。セットアップに従って(私が確信していることは)一意にリンクするsubmission_keywords
テーブルもあります。ただし、ビューにforを表示しようとすると:submissions
keywords
ids
has_many :through
keywords
submission
Show
<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
ご覧のとおり、それを取り上げました。何がうまくいかないのでしょうか?