以下のようなリレーション構造になっているテーブルがあります
#model/リレーション class TWork < ApplicationRecord has_many :t_applicants end class TApplicant < ApplicationRecord belongs_to :t_work has_one :t_worksuccess end class TWorksuccess < ApplicationRecord belongs_to :t_applicant end
t_worksというテーブルは複数の応募者を持ちます(1:N)。
そしてこの応募者は仕事成約テーブルの1:1のリレーションになっております。
この時TWorksuccessテーブルからt_workテーブルの内容を持っていきたいのですが。。。
#controller def show TWorksuccess.includes(:t_applicant).includes(:t_work).where(id: params[:work_success_id]) end
ActiveRecord::AssociationNotFoundError in TWorksuccess#show
Association named 't_work' was not found on TWorksuccess; perhaps you misspelled it?
といったエラー文言がでてきます。
ちなみに以下のようにt_applicantsテーブルのみをincludeすると
def show @worksuccess = TWorksuccess.includes(:t_applicant).where(id: params[:work_success_id]) end
t_applicantsテーブルの属性を取ってこれるのですが、includes書き方が悪いのでしょうか?
viewで
#show.html.erb <% @worksuccess.each do |work|%> <%= work.t_work.title %> <% end %>
のようにしてもエラーがでてしまいます。
長くなってしまい申し訳ございませんがよろしくおねがいします。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。