Ruby on rails 为什么Rails验证不起作用?

Ruby on rails 为什么Rails验证不起作用?,ruby-on-rails,validation,activerecord,ruby-on-rails-3.2,Ruby On Rails,Validation,Activerecord,Ruby On Rails 3.2,我将按照以下步骤创建一个非常普通的验证。我创建了一个工作正常的回调,但是 class Group < ActiveRecord::Base include ActiveModel::ForbiddenAttributesProtection   validates :name, :presence => true end 使用validates\u presence\u of:name进行踢腿,尝试validates\u presence\u of:name。还有,这就是你

我将按照以下步骤创建一个非常普通的验证。我创建了一个工作正常的回调,但是

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

  validates :name, :presence => true

end

使用
validates\u presence\u of:name

进行踢腿,尝试
validates\u presence\u of:name
。还有,这就是你模型的全部代码吗?您的
attr\u可访问
/
attr\u受保护
属性在哪里?谢谢。我使用的是强参数,因此没有模型级白名单/黑名单。控制器管理允许的参数。啊,没有想到这一点。很高兴它对你有用。为了清楚起见,我把我的评论移到了一个答案上。为什么会这样呢?Rails 3.2约定是OP已经拥有的。这很有效,谢谢。我使用的是强参数,因此没有模型级白名单/黑名单。控制器管理允许的参数RyanWI和SSCIRUS在一起,不知道为什么3.2协议不起作用。但是,继续下去验证了存在@jason328你是说它与attr_可访问/受保护相关?我创建了一个新的、普通的rails应用程序来使用它,但仍然有相同的错误。
undefined method `  validates' for #<Class:0x007fa57b1a9e60>
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