2012-11-22 119 views
0

我使用下面的[Rails的教程] [1]未定義的方法`鍵?'對於零:NilClass Ruby on Rails的

[1]:http://ruby.railstutorial.org/chapters/sign-up#sec-a_users_resource學習和已經得到對我掛一節。

當我訪問了REST URL XXX /用戶/ 1,我收到錯誤:

NoMethodError in UsersController#index 
undefined method `key?' for nil:NilClass 

從網上閱讀,我認爲這與在用戶模型的代碼做的,但我我已經跟着Tut去了T恤,而且我的代碼看起來和原來的一樣。但也許別人能看到我丟失的東西:

class User < ActiveRecord::Base 
    attr_accessible :email, :name, :password, :password_confirmation 
    has_secure_password 

    before_save { |user| user.email = email.downcase } 

    validates :name, presence: true, length: { maximum: 50 } 
    VALID_EMAIL_REGEX = /\A[\w+\-.][email protected][a-z\d\-.]+\.[a-z]+\z/i 
    validates :email, presence: true, format: { with: VALID_EMAIL_REGEX }, uniqueness: { case_sensitive: false } 
    validates :password, presence: true, length: { minimum: 6 } 
    validates :password_confirmation, presence: true 
end 

任何幫助將appreaciated!

編輯:這裏是從錯誤的框架跟蹤:再次

actionpack (3.2.8) lib/action_controller/metal/hide_actions.rb:36:in `visible_action?' 
actionpack (3.2.8) lib/action_controller/metal/hide_actions.rb:18:in `method_for_action' 
actionpack (3.2.8) lib/action_controller/metal/implicit_render.rb:14:in `method_for_action' 
actionpack (3.2.8) lib/action_controller/metal/compatibility.rb:61:in `method_for_action' 
actionpack (3.2.8) lib/abstract_controller/base.rb:115:in `process' 
actionpack (3.2.8) lib/abstract_controller/rendering.rb:45:in `process' 
actionpack (3.2.8) lib/action_controller/metal.rb:203:in `dispatch' 
actionpack (3.2.8) lib/action_controller/metal/rack_delegation.rb:14:in `dispatch' 
actionpack (3.2.8) lib/action_controller/metal.rb:246:in `block in action' 
actionpack (3.2.8) lib/action_dispatch/routing/route_set.rb:73:in `call' 
actionpack (3.2.8) lib/action_dispatch/routing/route_set.rb:73:in `dispatch' 
actionpack (3.2.8) lib/action_dispatch/routing/route_set.rb:36:in `call' 
journey (1.0.4) lib/journey/router.rb:68:in `block in call' 
journey (1.0.4) lib/journey/router.rb:56:in `each' 
journey (1.0.4) lib/journey/router.rb:56:in `call' 
actionpack (3.2.8) lib/action_dispatch/routing/route_set.rb:600:in `call' 
actionpack (3.2.8) lib/action_dispatch/middleware/best_standards_support.rb:17:in `call' 
rack (1.4.1) lib/rack/etag.rb:23:in `call' 
rack (1.4.1) lib/rack/conditionalget.rb:25:in `call' 
actionpack (3.2.8) lib/action_dispatch/middleware/head.rb:14:in `call' 
actionpack (3.2.8) lib/action_dispatch/middleware/params_parser.rb:21:in `call' 
actionpack (3.2.8) lib/action_dispatch/middleware/flash.rb:242:in `call' 
rack (1.4.1) lib/rack/session/abstract/id.rb:205:in `context' 
rack (1.4.1) lib/rack/session/abstract/id.rb:200:in `call' 
actionpack (3.2.8) lib/action_dispatch/middleware/cookies.rb:339:in `call' 
activerecord (3.2.8) lib/active_record/query_cache.rb:64:in `call' 
activerecord (3.2.8) lib/active_record/connection_adapters/abstract/connection_pool.rb:473:in `call' 
actionpack (3.2.8) lib/action_dispatch/middleware/callbacks.rb:28:in `block in call' 
activesupport (3.2.8) lib/active_support/callbacks.rb:405:in `_run__4595614879947811243__call__2349863385936106112__callbacks' 
activesupport (3.2.8) lib/active_support/callbacks.rb:405:in `__run_callback' 
activesupport (3.2.8) lib/active_support/callbacks.rb:385:in `_run_call_callbacks' 
activesupport (3.2.8) lib/active_support/callbacks.rb:81:in `run_callbacks' 
actionpack (3.2.8) lib/action_dispatch/middleware/callbacks.rb:27:in `call' 
actionpack (3.2.8) lib/action_dispatch/middleware/reloader.rb:65:in `call' 
actionpack (3.2.8) lib/action_dispatch/middleware/remote_ip.rb:31:in `call' 
actionpack (3.2.8) lib/action_dispatch/middleware/debug_exceptions.rb:16:in `call' 
actionpack (3.2.8) lib/action_dispatch/middleware/show_exceptions.rb:56:in `call' 
railties (3.2.8) lib/rails/rack/logger.rb:26:in `call_app' 
railties (3.2.8) lib/rails/rack/logger.rb:16:in `call' 
actionpack (3.2.8) lib/action_dispatch/middleware/request_id.rb:22:in `call' 
rack (1.4.1) lib/rack/methodoverride.rb:21:in `call' 
rack (1.4.1) lib/rack/runtime.rb:17:in `call' 
activesupport (3.2.8) lib/active_support/cache/strategy/local_cache.rb:72:in `call' 
rack (1.4.1) lib/rack/lock.rb:15:in `call' 
actionpack (3.2.8) lib/action_dispatch/middleware/static.rb:62:in `call' 
railties (3.2.8) lib/rails/engine.rb:479:in `call' 
railties (3.2.8) lib/rails/application.rb:223:in `call' 
rack (1.4.1) lib/rack/content_length.rb:14:in `call' 
rack (1.4.1) lib/rack/handler/webrick.rb:59:in `service' 
/usr/lib/ruby/1.9.1/webrick/httpserver.rb:138:in `service' 
/usr/lib/ruby/1.9.1/webrick/httpserver.rb:94:in `run' 
/usr/lib/ruby/1.9.1/webrick/server.rb:191:in `block in start_thread' 

編輯:這裏是users_controller.rb內容。看來,可能是問題,但它是作爲教程列出:

class UsersController < ApplicationController 
    def show 
    @user = user.find(params[:id]) 
    end 

    def new 
    end 
end 
+0

是否有堆棧跟蹤錯誤信息? – Baldrick

+0

檢查您是否在routes.rb中定義了'resources:users',並且您有控制器 – adcosta

+0

中的操作索引,顯示,...聲明,是否可以顯示控制器代碼? – awenkhh

回答

2

重新啓動Rails服務器固定的問題!謝謝

相關問題