Ruby on rails Rails布尔虫?

Ruby on rails Rails布尔虫?,ruby-on-rails,activerecord,ruby-on-rails-3,Ruby On Rails,Activerecord,Ruby On Rails 3,我在处理Rails中的布尔值时遇到了一个相当不确定的问题,下面是如何重现: $rails -v Rails 3.0.1 $ rails console --sandbox ruby-1.9.2-p0 > User.create! ActiveRecord::RecordNotSaved: ActiveRecord::RecordNotSaved from /Users/dpalacio/.rvm/gems/ruby-1.9.2-p0/gems/activerecord-3.0.1/li

我在处理Rails中的布尔值时遇到了一个相当不确定的问题,下面是如何重现:

$rails -v 
Rails 3.0.1

$ rails console --sandbox
ruby-1.9.2-p0 > User.create!
ActiveRecord::RecordNotSaved: ActiveRecord::RecordNotSaved
from /Users/dpalacio/.rvm/gems/ruby-1.9.2-p0/gems/activerecord-3.0.1/lib/active_record/persistence.rb:56:in `save!'
from /Users/dpalacio/.rvm/gems/ruby-1.9.2-p0/gems/activerecord-3.0.1/lib/active_record/validations.rb:49:in `save!'
from /Users/dpalacio/.rvm/gems/ruby-1.9.2-p0/gems/activerecord-3.0.1/lib/active_record/attribute_methods/dirty.rb:30:in `save!
  • rails新的布尔_错误
  • rails生成模型用户验证:布尔
  • 这样,您应该有一个带有用户模型的空项目

    3内部布尔_bug/app/models/user.rb

    "

    5将
    self.verified=false
    更改为
    self.verified=0

    6再次转到控制台

    ruby-1.9.2-p0 > User.create!
     => #<User id: 1, verified: false, created_at: "2010-10-31 04:23:13", updated_at: "2010-10-31 04:23:13"> 
    
    ruby-1.9.2-p0>User.create!
    => # 
    

    所以重点是使用false保存不起作用,但是true,1,0起作用,这是一个bug吗?还是我做错了什么?

    对不起,这不是rails的bug,实际上是因为before\u过滤器从分配中返回false,因此活动记录不会保存。

    我是Ruby on rails的初学者,这个答案救了我的命!非常感谢。
    ruby-1.9.2-p0 > User.create!
     => #<User id: 1, verified: false, created_at: "2010-10-31 04:23:13", updated_at: "2010-10-31 04:23:13">