タイトルの通りbelongs_toとhas_oneを使用してモデルの紐づけを行おうとしているのですがうまく動いてくれません
・やろうとしていること
rails g devise Account
で作成したAccountモデルとマイクロポストの内容を保存していたPostモデルを紐づけてAccountモデルからPostモデルの内容を呼び出せるようにしたい
account.rb
Ruby
1class Account < ApplicationRecord 2 belongs_to :post 3 accepts_nested_attributes_for :post 4 # Include default devise modules. Others available are: 5 # :confirmable, :lockable, :timeoutable, :trackable and :omniauthable 6 devise :database_authenticatable, :registerable, 7 :recoverable, :rememberable, :validatable 8 9 #Emailバリデーション 10 VALID_EMAIL_REGEX = /\A[\w+\-.]+@[a-z\d\-.]+.[a-z]+\z/i 11 validates :email, presence: true, uniqueness: true, format: { with: VALID_EMAIL_REGEX } 12 #Passwordバリデーション 13 VALID_PASSWORD_REGEX = /\A(?=.*?[a-z])(?=.*?\d)[a-z\d]+\z/i 14 validates :password, presence: true, length: { minimum: 7 }, format: { with: VALID_PASSWORD_REGEX } 15end
post.rb
Ruby
1class Post < ApplicationRecord 2 has_one :account 3end
上記のように記載してAccount.find(1).Postと入力してもNo method errorとなってしまいPostが見つからないと言われてしまいます
うまくいかない理由や別のやり方について教えていただけると幸いです
20201109075604_create_posts.rb
Ruby
1class CreatePosts < ActiveRecord::Migration[5.1] 2 def change 3 create_table :posts do |t| 4 t.text :content 5 6 t.timestamps 7 end 8 end 9end
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/11/20 02:19
2020/11/20 02:57
2020/11/20 03:56
2020/11/20 04:43
2020/11/20 05:17
2020/11/20 13:43
2020/11/20 13:47
2020/11/23 00:52
2020/11/23 06:22
2020/11/24 11:28
2020/11/25 01:01
2020/11/25 04:11
2020/11/25 04:12
2020/11/25 04:49
2020/11/25 14:21
2020/11/26 00:51
2020/11/26 05:07