質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Ruby on Rails 4

Ruby on Rails4はRubyによって書かれたオープンソースのウェブフレームワークです。 Ruby on Railsは「設定より規約」の原則に従っており、効率的に作業を行うために再開発を行う必要をなくしてくれます。

Q&A

1回答

1848閲覧

Ruby on Rails チュートリアル 第10章 エラー

AkihiroSoma

総合スコア10

Ruby on Rails 4

Ruby on Rails4はRubyによって書かれたオープンソースのウェブフレームワークです。 Ruby on Railsは「設定より規約」の原則に従っており、効率的に作業を行うために再開発を行う必要をなくしてくれます。

0グッド

1クリップ

投稿2015/03/03 10:58

編集2015/03/03 13:49

ボールドテキストhttp://railstutorial.jp/chapters/user-microposts?version=4.0#code-micropost_belongs_to_user_spec
第10章の10.1.3のラストのテストで以下のようなエラーが出ました。
Failures:

  1. Micropost
    Failure/Error: it { should respond_to(:user) }
    expected #<Micropost id: nil, content: "Lorem ipsum", user_id: 31, created_at: nil, updated_at: nil> to respond to :user

    ./spec/models/micropost_spec.rb:12:in `block (2 levels) in <top (required)>'

  2. Micropost user
    Failure/Error: its(:user) { should eq user }
    NoMethodError:
    undefined method `user' for #Micropost:0x007feb6cb54de8

    ./spec/models/micropost_spec.rb:13:in `block (2 levels) in <top (required)>'

  3. Micropost when user_id is not present
    Failure/Error: it { should_not be_valid }
    expected #<Micropost id: nil, content: "Lorem ipsum", user_id: nil, created_at: nil, updated_at: nil> not to be valid

    ./spec/models/micropost_spec.rb:19:in `block (3 levels) in <top (required)>'

Finished in 4.95 seconds
87 examples, 3 failures

Failed examples:

rspec ./spec/models/micropost_spec.rb:12 # Micropost
rspec ./spec/models/micropost_spec.rb:13 # Micropost user
rspec ./spec/models/micropost_spec.rb:19 # Micropost when user_id is not present

Randomized with seed 41587

どなたか解決方法を教えてください。
よろしくお願いします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

一つ目と二つ目は、Micropostにbelongs_to :userを書いてないのが原因ではないでしょうか。
三つ目は、user_idがないとダメなようにvalidationを定めないといけないでしょう。
本文のリスト10.7に書いてあるようにしてどうにかならないでしょうか。

投稿2015/03/07 05:54

skz

総合スコア145

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問