2011-08-23 33 views
7

Dưới đây là bản ghiNoMethodError: undefined phương pháp `[]' cho sai: FalseClass

umair-2:game-minion umairejaz$ rails c 
/Users/umairejaz/.rvm/gems/[email protected]/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/[email protected]/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/[email protected]/gems/mongoid-2.1.9/lib/mongoid/persistence/operations.rb:143:in `validating?' 
from /Users/umairejaz/.rvm/gems/[email protected]/gems/mongoid-2.1.9/lib/mongoid/persistence/insertion.rb:23:in `block in prepare' 
from /Users/umairejaz/.rvm/gems/[email protected]/gems/mongoid-2.1.9/lib/mongoid/persistence/insertion.rb:22:in `tap' 
from /Users/umairejaz/.rvm/gems/[email protected]/gems/mongoid-2.1.9/lib/mongoid/persistence/insertion.rb:22:in `prepare' 
from /Users/umairejaz/.rvm/gems/[email protected]/gems/mongoid-2.1.9/lib/mongoid/persistence/operations/insert.rb:26:in `persist' 
from /Users/umairejaz/.rvm/gems/[email protected]/gems/mongoid-2.1.9/lib/mongoid/persistence.rb:44:in `insert' 
from /Users/umairejaz/.rvm/gems/[email protected]/gems/mongoid-2.1.9/lib/mongoid/persistence.rb:142:in `upsert' 
from (irb):3 
from /Users/umairejaz/.rvm/gems/[email protected]/gems/railties-3.0.7/lib/rails/commands/console.rb:44:in `start' 
from /Users/umairejaz/.rvm/gems/[email protected]/gems/railties-3.0.7/lib/rails/commands/console.rb:8:in `start' 
from /Users/umairejaz/.rvm/gems/ruby-1.9.2-p[email protected]/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 > 

Tôi nhận này trên phản ứng khi tôi cố gắng tiết kiệm một số đối tượng. Follwoing là phiên bản đá quý của tôi về mongoid và Mông Cổ, những gì tôi nghĩ là một vấn đề của mongoid.yml nhưng không chắc chắn như yml của tôi là hoàn toàn tốt đẹp

Sử dụng bson (1.3.1) Sử dụng bson_ext (1.3.1) Sử dụng Mongo (1.3.1) Cài đặt 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:[email protected]:10029/appid 

Xin vui lòng cho tôi biết nếu bạn tìm thấy bất cứ điều gì sai trong

+0

Định nghĩa của lớp Người dùng là gì? –

+1

thử 'save (: validate => false)' – apneadiving

+1

'u.save (: validate => false)' – rubish

Trả lời

29

thử này:

u.save(:validate=> false) 
+2

Điều này không thực sự giải quyết vấn đề cơ bản hiện nó? Gắn bó bạn vào cát sẽ chỉ bật vấn đề này lên nơi khác –

+2

@Bill Leeper: OP đã cố gắng bỏ qua các xác thực trước đó, nhưng đã sử dụng cú pháp cũ 'u.save (false)'. Thông báo lỗi xuất hiện do lỗi cú pháp. – rekado

5

Tôi đang dán đối tượng của tôi và nhận được lỗi trong Rails 3.0:

undefined method `[]' for false:FalseClass

nhưng nó hoạt động tìm bây giờ sau khi tôi đã thay đổi mã của tôi từ:

save(false) 

tới:

save(:validate=> false) 
+0

Câu trả lời này thêm thông tin mới bên cạnh thông tin được chấp nhận như thế nào? –

Các vấn đề liên quan