2011-07-01 42 views
12

Trong ứng dụng của tôi tôi đã sử dụng ruby ​​1.9.2 và đường ray 3.0.3 và cũng đã cài đặt Devise gem.The vấn đề bắt đầu khi tôi chạy máy chủ Webrick tôi nhận được hằng số Uninitialized Devise name Error.Tại sao tôi nhận được lỗi không xác định Tên lỗi khi chạy máy chủ webrick?

 /home/app/Workspace/project/Library_Management/Library_Management/config/initializers/devise.rb:3:in `<top (required)>': uninitialized constant Devise (NameError) 
from /home/app/.rvm/gems/ruby-1.9.2-p180/gems/railties-3.0.9/lib/rails/engine.rb:201:in `block (2 levels) in <class:Engine>' 
from /home/app/.rvm/gems/ruby-1.9.2-p180/gems/railties-3.0.9/lib/rails/engine.rb:200:in `each' 
from /home/app/.rvm/gems/ruby-1.9.2-p180/gems/railties-3.0.9/lib/rails/engine.rb:200:in `block in <class:Engine>' 
from /home/app/.rvm/gems/ruby-1.9.2-p180/gems/railties-3.0.9/lib/rails/initializable.rb:25:in `instance_exec' 
from /home/app/.rvm/gems/ruby-1.9.2-p180/gems/railties-3.0.9/lib/rails/initializable.rb:25:in `run' 
from /home/app/.rvm/gems/ruby-1.9.2-p180/gems/railties-3.0.9/lib/rails/initializable.rb:50:in `block in run_initializers' 
from /home/app/.rvm/gems/ruby-1.9.2-p180/gems/railties-3.0.9/lib/rails/initializable.rb:49:in `each' 
from /home/app/.rvm/gems/ruby-1.9.2-p180/gems/railties-3.0.9/lib/rails/initializable.rb:49:in `run_initializers' 
from /home/app/.rvm/gems/ruby-1.9.2-p180/gems/railties-3.0.9/lib/rails/application.rb:134:in `initialize!' 
from /home/app/.rvm/gems/ruby-1.9.2-p180/gems/railties-3.0.9/lib/rails/application.rb:77:in `method_missing' 
from /home/app/Workspace/project/Library_Management/Library_Management/config/environment.rb:5:in `<top (required)>' 
from /home/app/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:54:in `require' 
from /home/app/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:54:in `require' 
from /home/app/Workspace/project/Library_Management/Library_Management/config.ru:3:in `block in <main>' 
from /home/app/.rvm/gems/ruby-1.9.2-p180/gems/rack-1.2.3/lib/rack/builder.rb:46:in `instance_eval' 
from /home/app/.rvm/gems/ruby-1.9.2-p180/gems/rack-1.2.3/lib/rack/builder.rb:46:in `initialize' 
from /home/app/Workspace/project/Library_Management/Library_Management/config.ru:1:in `new' 
from /home/app/Workspace/project/Library_Management/Library_Management/config.ru:1:in `<main>' 
from /home/app/.rvm/gems/ruby-1.9.2-p180/gems/rack-1.2.3/lib/rack/builder.rb:35:in `eval' 
from /home/app/.rvm/gems/ruby-1.9.2-p180/gems/rack-1.2.3/lib/rack/builder.rb:35:in `parse_file' 
from /home/app/.rvm/gems/ruby-1.9.2-p180/gems/rack-1.2.3/lib/rack/server.rb:162:in `app' 
from /home/app/.rvm/gems/ruby-1.9.2-p180/gems/rack-1.2.3/lib/rack/server.rb:253:in `wrapped_app' 
from /home/app/.rvm/gems/ruby-1.9.2-p180/gems/rack-1.2.3/lib/rack/server.rb:204:in `start' 
from /home/app/.rvm/gems/ruby-1.9.2-p180/gems/railties-3.0.9/lib/rails/commands/server.rb:65:in `start' 
from /home/app/.rvm/gems/ruby-1.9.2-p180/gems/railties-3.0.9/lib/rails/commands.rb:30:in `block in <top (required)>' 
from /home/app/.rvm/gems/ruby-1.9.2-p180/gems/railties-3.0.9/lib/rails/commands.rb:27:in `tap' 
from /home/app/.rvm/gems/ruby-1.9.2-p180/gems/railties-3.0.9/lib/rails/commands.rb:27:in `<top (required)>' 
from /home/app/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:58:in `require' 
from /home/app/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:58:in `rescue in require' 
from /home/app/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:35:in `require' 

Cảm ơn

+0

là Devise trong Gemfile.lock của bạn? –

+0

Tôi nhận được loại lỗi, và đối với tôi nó thực sự đã giúp đóng thiết bị đầu cuối và mở một thiết bị đầu cuối mới.Có thể hữu ích, nhưng tôi sẽ không đăng câu trả lời này vì tôi không biết điều gì đã gây ra điều này. – Automatico

+1

Đảm bảo khởi động lại máy chủ của bạn sau khi bạn cài đặt một viên ngọc mới. – Ctpelnar1988

Trả lời

4

Hãy chắc chắn rằng bạn đã liệt kê trong lập mưu Gemfile của bạn và chạy bundle install.

+0

có tôi đã liệt kê devise n cũng chạy cài đặt bó nhưng tôi vẫn gặp lỗi tương tự .. – Addicted

+1

Bên trong Configuration/application.rb i đã thêm dòng yêu cầu 'devise' và có thể khắc phục sự cố – Addicted

+0

Ngoài ra, hãy thử "bundle cập nhật "vì nó sẽ tích cực hơn trong cài đặt bản cập nhật. Nó cập nhật tất cả các đá quý với tất cả các phụ thuộc mà thường có thể giúp ủi ra các lỗi như thế này. Hãy xem xét http://ryanbigg.com/2011/01/why-you-should-run-bundle-update/ – Automatico

3

tôi có một lỗi như thế khi tôi đã có một bộ điều khiển devise tùy chỉnh để ghi đè lên các phương pháp 'mới' để làm một số công cụ tùy chỉnh, và quên sử dụng 'siêu'

Bạn có một bộ điều khiển tùy chỉnh?

14

Kiểm tra cấu hình/ứng dụng của bạn.rb, bạn cần thêm yêu cầu 'lập ra' và bạn sẽ ổn.

+5

không hoạt động đối với tôi. – Eskim0

0

Tôi đã thêm vài cột sau khi cài đặt Devise và tôi đã thêm một số xác thực trong mô hình người dùng của mình. Từ thông báo lỗi, có vẻ như đường ray không thể tìm thấy thư viện cần thiết do đó nó không thể tìm thấy Devise. Có thể thanh toán trang Github phát triển trang Wiki và đảm bảo tất cả các phụ thuộc đều hài lòng?

Hy vọng điều đó sẽ hữu ích!

14

Trong trường hợp bạn đang viết một động cơ trong đó có cấu hình devise riêng của mình, chỉ cần thêm

require 'devise' 

trên đầu devise initializer. Trong trường hợp của tôi, tôi đã không có yêu cầu devise bên trong ứng dụng :)

Cheers

2

Tôi đã có một vấn đề tương tự và tôi thấy điều này https://github.com/plataformatec/devise

Nó nói bạn phải làm

rails generate devise:install

Theo dõi "Bắt đầu" trên trang đó đã cho tôi đi

1

nếu bạn không sử dụng đưa ra viên ngọc nữa sau đó loại bỏ

gem 'devise' 

từ gemfile và xóa

config/initializers/devise.rb 

cũng đảm bảo devise không được sử dụng bất cứ nơi nào

1

Tôi chỉ có vấn đề đó, nó là vì tôi đã tạo mô hình xem do nhầm lẫn và tôi đã không xóa mô hình đó khỏi các tuyến đường của tôi.rb

1

Tôi phải thêm require 'devise' vào tệp spec/spec_helper.rb và lỗi đã biến mất.

0

Trong cấu hình/ứng dụng của bạn.rb thêm require 'yaml'. Nó làm việc cho tôi. Hãy thử

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