前提・実現したいこと
Postモデルのteam_idカラムが@team.idであるものをwhereで配列で取り出したいです。
Postモデルにmember_idというカラムを作っていました。
member_idカラムの名前をteam_idカラムに
rails g migration のコマンドを使用して変更したあとから、エラーが出るようになりました。
発生している問題・エラーメッセージ
NameError in TeamsController#show uninitialized constant Post::TeamId
該当のソースコード
ruby
1 @posts = Post.where(team_id: @team.id)
試したこと
google検索で、モデル名が複数形になっている事が原因という記事を見つけたので確認しましたが
Postモデル
Teamモデル
どちらも単数系になっております。
補足情報(FW/ツールのバージョンなど)
スキーマは下記の表示がされてます。
ruby
1 create_table "posts", force: :cascade do |t| 2 t.integer "post_image_id" 3 t.text "post_content" 4 t.datetime "created_at", null: false 5 t.datetime "updated_at", null: false 6 t.integer "team_id" 7 t.integer "user_id" 8 end
Postモデルは下記の表示がされてます。
ruby
1 2class Post < ApplicationRecord 3 has_many :post_favorites 4 has_many :post_comments 5 6 belongs_to :user_id 7 belongs_to :team_id 8 9 attachment :post_image 10end 11
Teamモデルは下記の表示がされてます。
ruby
1class Team < ApplicationRecord 2 has_many :members, dependent: :destroy 3 has_many :users, through: :members 4 5 has_many :posts, dependent: :destroy 6 7 attachment :team_image 8end
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/12/22 13:15