controller_testでモデルの生成を行いたいのですがうまく生成されずテストがうまくいきません。
コードにあるuser_nameとuser_idは別のモデルであるUserモデルと関連付けられていてコードにある三つのほかにあるカラムはid,created_at,updated_atしかありません。
同じような書き方でUserモデルの生成はできたので関連付けに原因があると考えました書き方が調べても分からず手詰まりになってしまってしまいました。
なぜうまく生成されないのでしょうか。また、どのように書けばうまくPostモデルの生成をできるのかご教授ください。よろしくお願いいたします。
require 'test_helper' class PostControllerTest < ActionDispatch::IntegrationTest def setup @post = Post.new(content: "example",user_id: 1, user_name: "example") end test "should be valid " do assert @post.valid? #このテストがクリアできない end
関連付けコード
post.rb class Post < ApplicationRecord belongs_to :user validates :content, presence: true,length: { maximum: 200 } end ```
user.rb
class User < ApplicationRecord
has_many :posts,dependent: :destroy
def setup
@user = User.new(name: "Example User", mail_address: "user@example.com",
password: "foobar", password_confirmation: "foobar")
@post = Post.new(content: "example", user_id: @user.id , user_name: "example")
end
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/08/22 04:22
2020/08/22 12:01
2020/08/25 09:54
2020/08/25 10:01
2020/08/28 14:24
2020/08/28 21:53
2020/08/29 16:28