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.

我认为您没有正确创建模型。例如,您的Comment模型应该有一个user_id和一个micropost_id来满足belongs_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 回答