0

このページを段階的にたどり ました ユーザーページ(Ruby on Rails)に関するマイクロポストのコメント

次に、ここでform_for 、未定義のメソッド名を取得しているというエラーを調べました

「rails generate migration add_comment_content_to_micropost comment_content:text」を実行してから、「rake db:migrate」を実行しました

ただし、未定義のメソッド「comment_content」エラーがまだ発生しています

NoMethodError in Users#show

Showing C:/app/views/shared/_comment_form.html.erb where line #4 raised:

undefined method `comment_content' for #<Comment:0x4fe56b8>

列が schema.db からのものであるセクションは次のとおりです

create_table "microposts", :force => true do |t|
    t.string   "content"
    t.integer  "user_id"
    t.datetime "created_at",      :null => false
    t.datetime "updated_at",      :null => false
    t.text     "commentcontent"
    t.text     "comment_content"
  end
4

2 に答える 2

1

エラーは、Commentオブジェクトではなくオブジェクトを参照していMicropostます。show メソッドでは、正しいオブジェクトを参照する必要があります。

あなたが参照している投稿を見ると、あなたはいくつかの間違いを犯しています。たとえば、Commentクラスにはcomment_content、ではなく、フィールドが必要Micropostです。

モデルを正しく作成していないと思います。たとえば、 andの関係を満たすために、Commentモデルには auser_idと aが必要です。micropost_idbelongs_to :userbelongs_to :micropost

于 2013-03-10T06:58:10.260 に答える
0

model間違って関連付けを設定したようです。関連付けの方法については、こちらをご覧ください。

http://guides.rubyonrails.org/association_basics.html

于 2013-03-10T07:13:24.613 に答える