我正在关注RoR下载网站上的博客应用。教程说输入此代码以获得一些验证:
class Post < ActiveRecord::Base
validates :name, :presence => true
validates :title, :presence => true,
:length => { :minimum => 5 }
end
我的副本中有这个:
class Post < ActiveRecord::Base
validates :name, :presence => true,
validates :title, :presence => true,
:length => { :minimum => 5 }
end
据我所知,这是正确的,但是当我运行页面时,我收到这些错误消息:
c:/Sites/blog/app/models/post.rb:3: syntax error, unexpected tSYMBEG, expecting kDO or '{' or '('
validates :Title, :presence => true,
^
C:/Sites/blog/app/models/post.rb:3: Can't assign to true
C:/Sites/blog/app/models/post.rb:4: syntax error, unexpected tASSOC, expecting tCOLON2 or '[' or '.'
:length => { :minimum => 5 }
有谁可以指出我做错了什么?对我来说似乎完全一样。
答案 0 :(得分:11)
validates :name, :presence => true
文件中的post.rb
末尾有一个逗号;删除它。
答案 1 :(得分:6)
validates :name, :presence => true,
应该是:
validates :name, :presence => true
(注意最后删除的逗号)
答案 2 :(得分:3)
是第一次缩进,但我已经跑好了,如果我还是工作的话......在我工作的时候留下代码。
以下是我使用的代码:
class Post < ActiveRecord::Base
validates:name, :presence=>true
validates:title,:presence=>true,
:length=>{:minimum=>5}
end
答案 3 :(得分:0)
您在validates :name, :presence => true
行上有一个逗号逗号。
答案 4 :(得分:0)
前一段时间我遇到了同样的错误,我在代码中添加了一些属性,以便修复它。
您的代码必须如下:
class Post < ActiveRecord::Base
attr_accessible :content, :name, :title
validates name, :presence => true
validates :title, :presence => true, length => { :minimum => 5 }
end
它对我有用。