0

我对 Ruby on Rails 非常陌生,我正在按照 Railstutorial 使用 Scaffold 制作演示应用程序。

首先,当我使用脚手架添加用户模型时,它运行良好。然后,当我添加 micropost 模型时,我不断收到以下错误:

/demo_app/app/models/micropost.rb:4: syntax error, unexpected ':', expecting keyword_end
  belongs_to: user

我注意到脚手架生成的代码与教程中显示的代码不同。这是 User 和 Microposts 模型:

class User < ActiveRecord::Base
  attr_accessible :email, :name
  has_many :microposts
end

class Micropost < ActiveRecord::Base
  attr_accessible :content, :user_id

  belongs_to: user

  validates :content, :length => { :maximum => 140 }
end

attr_accessible教程中没有该行。这到底是什么,这是问题所在吗?我已经运行了 Rake 程序以及提到的所有其他内容。

4

2 回答 2

2

应该是belongs_to :user。你最好使用一些带有高亮显示的文本编辑器

于 2012-08-28T21:39:58.667 回答
1

错误消息说明了您需要知道的任何内容。

  • 查看 micropost.rb 的第 4 行
  • 搜索“:”

它应该belongs_to :user代替belongs_to: user

于 2012-08-28T21:38:55.403 回答