ruby-on-rails - NoMethodError : undefined method `[]' for false:FalseClass

标签 ruby-on-rails mongodb rubygems mongoid

这里是日志

umair-2:game-minion umairejaz$ rails c
/Users/umairejaz/.rvm/gems/ruby-1.9.2-p290@rails3/gems/railties-3.0.7/lib/rails/script_rails_loader.rb:11: warning: Insecure world writable dir /usr/local/bin in PATH, mode 040777
/Users/umairejaz/.rvm/gems/ruby-1.9.2-p290@rails3/gems/bundler-1.0.18/lib/bundler/runtime.rb:136: warning: Insecure world writable dir /usr/local/bin in PATH, mode 040777
Loading development environment (Rails 3.0.7)
ruby-1.9.2-p290 :001 > u = User.new
=> #<User _id: 4e53f783713931a571000001, _type: nil, username: nil, first_name: nil, last_name: nil, email: nil, password: nil, password_salt: nil, password_hash: nil, profile_picture: nil, facebook_id: nil, facebook_enabled: nil, facebook_access_token: nil, twitter_id: nil, twitter_enabled: nil, twitter_access_token: nil, twitter_access_secret: nil, points: nil, remember_token: nil, remember_token_expires_at: nil> 
ruby-1.9.2-p290 :002 > u.username = "umair"
=> "umair" 
ruby-1.9.2-p290 :003 > u.save(false)
NoMethodError: undefined method `[]' for false:FalseClass
from /Users/umairejaz/.rvm/gems/ruby-1.9.2-p290@rails3/gems/mongoid-2.1.9/lib/mongoid/persistence/operations.rb:143:in `validating?'
from /Users/umairejaz/.rvm/gems/ruby-1.9.2-p290@rails3/gems/mongoid-2.1.9/lib/mongoid/persistence/insertion.rb:23:in `block in prepare'
from /Users/umairejaz/.rvm/gems/ruby-1.9.2-p290@rails3/gems/mongoid-2.1.9/lib/mongoid/persistence/insertion.rb:22:in `tap'
from /Users/umairejaz/.rvm/gems/ruby-1.9.2-p290@rails3/gems/mongoid-2.1.9/lib/mongoid/persistence/insertion.rb:22:in `prepare'
from /Users/umairejaz/.rvm/gems/ruby-1.9.2-p290@rails3/gems/mongoid-2.1.9/lib/mongoid/persistence/operations/insert.rb:26:in `persist'
from /Users/umairejaz/.rvm/gems/ruby-1.9.2-p290@rails3/gems/mongoid-2.1.9/lib/mongoid/persistence.rb:44:in `insert'
from /Users/umairejaz/.rvm/gems/ruby-1.9.2-p290@rails3/gems/mongoid-2.1.9/lib/mongoid/persistence.rb:142:in `upsert'
from (irb):3
from /Users/umairejaz/.rvm/gems/ruby-1.9.2-p290@rails3/gems/railties-3.0.7/lib/rails/commands/console.rb:44:in `start'
from /Users/umairejaz/.rvm/gems/ruby-1.9.2-p290@rails3/gems/railties-3.0.7/lib/rails/commands/console.rb:8:in `start'
from /Users/umairejaz/.rvm/gems/ruby-1.9.2-p290@rails3/gems/railties-3.0.7/lib/rails/commands.rb:23:in `<top (required)>'
from script/rails:6:in `require'
from script/rails:6:in `<main>'
ruby-1.9.2-p290 :004 > 

当我尝试保存一些对象时,我得到了上述响应。以下是我的 mongoid 和 mongo 的 gem 版本,我认为这是 mongoid.yml 的问题,但不确定因为我的 yml 完全没问题

使用 bson (1.3.1) 使用 bson_ext (1.3.1) 使用 mongo (1.3.1) 安装 mongoid (2.1.9)

mongoid.yml

defaults: &defaults
  host: localhost

development:
  <<: *defaults
  database: gm_development

test:
  <<: *defaults
  database: gm_test
production:
  host: <%= ENV['MONGOID_HOST'] %>
  port: <%= ENV['MONGOID_PORT'] %>
  username: <%= ENV['MONGOID_USERNAME'] %>
  password: <%= ENV['MONGOID_PASSWORD'] %>
  database: <%= ENV['MONGOID_DATABASE'] %>
  uri: mongodb://username:password@staff.mongohq.com:10029/appid

如果您发现这里有任何问题,请告诉我

最佳答案

尝试:

u.save(:validate=> false)

关于ruby-on-rails - NoMethodError : undefined method `[]' for false:FalseClass,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7166382/

相关文章:

ruby-on-rails - 为什么我的 ruby​​ 测试找不到访问?

ruby-on-rails - 创建和更新 Mongoid 数组字段的表单

ruby-on-rails - Rails 4 - 设计, guest 用户导致过滤器链停止

mongodb - 仅当其他字段与 MongoDB 中的值匹配时,如何更新数组中的字段

ruby-on-rails - 使用 Devise - Rails 4 保存具有嵌套形式的 has_one 模型

ruby - 难以在 Windows 上安装 RSpec

ruby-on-rails - 单击链接以删除 Active Storage 和 Amazon S3 上的附件

mongodb - 从BSON文件创建Hive表时,列值变为NULL

mongodb - bson.ObjectId 的零值/零值是多少

ruby-on-rails - 有没有可以为 Sinatra 生成 API 的 Ruby gem?