2013-05-31 62 views
1

我遵循Rails guide来创建一个非常香草的验证。我已经创建了一个工作正常的回调,但只会验证:为什么Rails验证无效?

class Group < ActiveRecord::Base 
    include ActiveModel::ForbiddenAttributesProtection 

  validates :name, :presence => true 

end 

结果:

undefined method ` validates' for #<Class:0x007fa57b1a9e60> 

这与以下的Gemfile

源 'https://rubygems.org'

的Rails 3.2.13
gem 'rails', '3.2.13' 

gem 'pg' 

group :assets do 
    gem 'sass-rails' 
    gem 'uglifier' 
end 

gem 'jquery-rails' 
gem 'strong_parameters' 
gem 'bootstrap-sass', '>= 2.3.0.0' 
gem 'devise', '>= 2.2.3' 
gem 'cancan', '>= 1.6.9' 
gem 'omniauth' 
gem 'omniauth-facebook' 
gem 'paperclip', '~> 3.0' 
gem 'friendly_id', "~> 4.0.9" 

group :test, :development do 
    gem 'rspec-rails' 
    gem 'factory_girl_rails' 
end 
+1

对于踢腿,请尝试'validates_presence_of:name'。另外,你的模型的所有代码是?你的'attr_accessible' /'attr_protected'属性在哪里? – jason328

+0

工作,谢谢。我使用强大的参数,所以没有模型级白名单/黑名单。控制器管理允许的参数。 – RyanW

+0

啊,没有想到这一点。很高兴它对你有效。为了清楚起见,我将我的评论移到了答案上。 – jason328

回答

2

使用validates_presence_of :name

+0

为什么会这样工作? Rails 3.2约定是OP已经得到的。 – sscirrus

+0

工作,谢谢。我使用强大的参数,所以没有模型级白名单/黑名单。控制器管理允许的参数。 - RyanW – jason328

+0

我与sscirrus,不知道为什么3.2公约不起作用。但是,继续validates_presence_of。 @ jason328你是说它与attr_accessible/protected有关吗?我创建了一个新的,使用它的香草栏应用程序,并且仍然有相同的错误。 – RyanW