6

I am new to rails and am trying to follow along with this prelaunch signup tutorial - http://railsapps.github.com/tutorial-rails-prelaunch-signup.html

When initializing the rails server using $ rails s, I get the following error message:

Users/pv/.rvm/gems/ruby-1.9.3-p194@rails326/gems/devise-2.1.2/lib/devise/models.rb:97:in `const_get': uninitialized constant Devise::Models::Invitable (NameError)

followed by a bunch of file paths, such as:

from /Users/patrickvihtelic/.rvm/gems/ruby-1.9.3-p194@rails326/gems/devise-2.1.2/lib/devise/models.rb:97:in `block (2 levels) in devise'
from /Users/patrickvihtelic/.rvm/gems/ruby-1.9.3-p194@rails326/gems/devise-2.1.2/lib/devise/models.rb:92:in `each'
from /Users/patrickvihtelic/.rvm/gems/ruby-1.9.3-p194@rails326/gems/devise-2.1.2/lib/devise/models.rb:92:in `block in devise'
from /Users/patrickvihtelic/.rvm/gems/ruby-1.9.3-p194@rails326/gems/devise-2.1.2/lib/devise/models.rb:123:in `devise_modules_hook!'
from /Users/patrickvihtelic/.rvm/gems/ruby-1.9.3-p194@rails326/gems/devise-2.1.2/lib/devise/models.rb:90:in `devise'
from /Users/patrickvihtelic/code/rails-prelaunch-signup/app/models/user.rb:5:in `<class:User>'
from /Users/patrickvihtelic/code/rails-prelaunch-signup/app/models/user.rb:1:in `<top (required)>'
from /Users/patrickvihtelic/.rvm/gems/ruby-1.9.3-p194@rails326/gems/activesupport-3.2.8/lib/active_support/inflector/methods.rb:230:in `block in constantize'
from /Users/patrickvihtelic/.rvm/gems/ruby-1.9.3-p194@rails326/gems/activesupport-3.2.8/lib/active_support/inflector/methods.rb:229:in `each'
from /Users/patrickvihtelic/.rvm/gems/ruby-1.9.3-p194@rails326/gems/activesupport-3.2.8/lib/active_support/inflector/methods.rb:229:in `constantize'
from /Users/patrickvihtelic/.rvm/gems/ruby-1.9.3-p194@rails326/gems/devise-2.1.2/lib/devise.rb:256:in `get'

Can anyone please give me a hint or point me in the right direction?

Thanks!

Pat

4

2 に答える 2

8

以下を追加する必要があります。

require 'devise_invitable'

config/initializers/devise.rb に。これにより、このエラーが解消されます。

于 2014-03-13T08:48:20.387 に答える
1

取得した「ファイル パスのリスト」を「スタック トレース」と呼びます。エラーが発生した行番号とファイルを示す上部から始まります。後続の行は、エラーが発生した関数を呼び出していた関数、次にそれを呼び出した関数などです。これは、エラーの原因が入力ミスによるものかどうか、問題がどこから始まったかを把握するのに役立ちます。

この場合、Devise エンジンを呼び出そうとしていますが、使用した名前に反対しています。この場合、それは Devise の Models モジュールにあります。そのモジュールのドキュメントを見ると、Invitable モジュールまたはクラスが定義されていないことがわかります。この質問を見たいと思うかもしれません。

于 2012-09-18T01:39:13.837 に答える