前提・実現したいこと
子モデルの特定の値を持っているレコードに紐付けられた親モデルのレコードを取り出したい
ステータスが未対応のメンバーを表示させたい
発生している問題・エラーメッセージ
ActiveRecord::StatementInvalid in Tops#index
Mysql2::Error: Unknown column 'member_status.status' in 'where clause': SELECT `members`.* FROM `members` INNER JOIN `member_statuses` ON `member_statuses`.`member_id` = `members`.`id` WHERE `member_status`.`status` = '未対応'
該当のソースコード
Ruby
1tops_controller.rb 2class TopsController < ApplicationController 3 def index 4 @members_unsupported =Member.joins(:member_status).where(member_status: {status: '未対応'}) 5 end 6end
Ruby
1member.rb 2class Member < ApplicationRecord 3 has_one :member_status, dependent: :destroy 4end
Ruby
1member_status.rb 2class MemberStatus < ApplicationRecord 3 belongs_to :member, dependent: :destroy 4end
Ruby
120XXXXX_create_member_statuses.rb 2class CreateMemberStatuses < ActiveRecord::Migration[5.2] 3 def change 4 create_table :member_statuses do |t| 5 t.references :member, foreign_key: true 6 t.string :status 7 t.timestamps 8 end 9 end 10end
Haml
1- @members_unsupported.each do |member| 2%tr.details-new 3 - member....
試したこと
上の記述だとエラーが発生するのでincludeやeager_loadなどを試したが上手く行かず。
補足情報(FW/ツールのバージョンなど)
rails 5.2.4
ruby 2.5.1
初質問なので抜け漏れあると思われますので
必要な情報があったらおっしゃってください!!
何卒よろしくお願いいたします。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/11/24 00:13
2020/11/24 01:26