我是Ruby on Rails的新手,我正在按照Railstutorial使用Scaffold制作一个演示应用程序。
首先,当我使用脚手架添加用户模型时,它工作正常。然后,当我添加微博模型时,我不断收到以下错误:
/demo_app/app/models/micropost.rb:4: syntax error, unexpected ':', expecting keyword_end
belongs_to: user
我注意到scaffold生成的代码没有生成与教程中显示的代码相同的代码。这是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程序和其他所有提到的内容。
答案 0 :(得分:2)
应该是belongs_to :user
。你最好使用一些带有高亮显示功能的texteditor
答案 1 :(得分:1)
错误消息显示您需要知道的任何内容。
应该是belongs_to :user
而不是belongs_to: user