Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/56.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails Rails 3验证不起作用_Ruby On Rails_Ruby On Rails 3 - Fatal编程技术网

Ruby on rails Rails 3验证不起作用

Ruby on rails Rails 3验证不起作用,ruby-on-rails,ruby-on-rails-3,Ruby On Rails,Ruby On Rails 3,我已经将我的应用程序从Rails 2.3.5迁移到Rails 3 我在模型中有如下验证 validates :name, :presence => {:message => "Please enter the name"} 我犯了一个错误。错误指向我添加验证的行。错误日志如下所示 activemodel (3.2.2) lib/active_model/validations/with.rb:85:in `block in validates_with' activemodel (

我已经将我的应用程序从Rails 2.3.5迁移到Rails 3

我在模型中有如下验证

validates :name, :presence => {:message => "Please enter the name"}
我犯了一个错误。错误指向我添加验证的行。错误日志如下所示

activemodel (3.2.2) lib/active_model/validations/with.rb:85:in `block in validates_with'
activemodel (3.2.2) lib/active_model/validations/with.rb:83:in `each'
activemodel (3.2.2) lib/active_model/validations/with.rb:83:in `validates_with'
activemodel (3.2.2) lib/active_model/validations/validates.rb:99:in `block in validates'
activemodel (3.2.2) lib/active_model/validations/validates.rb:90:in `each'
activemodel (3.2.2) lib/active_model/validations/validates.rb:90:in `validates'
app/models/business.rb:19:in `<class:Business>'
app/models/business.rb:1:in `<top (required)>'
activemodel(3.2.2)lib/active\u model/validations/with.rb:85:in`block in validates\u with'
activemodel(3.2.2)lib/active_model/validations/with.rb:83:在'each'中
activemodel(3.2.2)lib/active\u model/validations/with.rb:83:in“validates\u with”
activemodel(3.2.2)lib/active_model/validations/validates.rb:99:in'block in validates'
activemodel(3.2.2)lib/active_model/validations/validates.rb:90:in'each'
activemodel(3.2.2)lib/active_model/validations/validates.rb:90:in'validates'
app/models/business.rb:19:in`'
app/models/business.rb:1:in`'
请帮帮我。

试试这个:

validates :name, :presence => true, :message => "Please enter the name"
validates_presence_of :name, :message => "Please enter the name"
试试这个:

validates :name, :presence => true, :message => "Please enter the name"
validates_presence_of :name, :message => "Please enter the name"

也许这个链接对你有帮助:我试过了。但它不起作用。解决了这个问题。我在lib模块中定义了方法设置,它实际上存在于validations模块中。我尝试了validates:name,:presence=>{:message=>“选择至少一个选项”},但它不起作用。