1

私はプログラミングの方法を学び始めたばかりですが、ここ数年Ubuntuを使用しているため、問題やエラーの調査には精通していますが、この分野は私にとって新しすぎるか、具体的な答えを見つけることができません。

Ruby on Rails 入門コースを受講していて、devise gem をインストールしなければならないところまで来て、ここで間違いを犯しました。

devise github ページの指示に従っているときに、誤って次のように入力してしまいました。

rails generate devise install

それ以外の

rails generate devise:install

今、ロードしようとするたびに

レールS

次のエラー メッセージが表示されます。

/home/amer/.rvm/gems/ruby-1.9.3-p327/gems/activesupport-3.2.9/lib/active_support/inflector/methods.rb:230:in `block in constantize': uninitialized constant Install (NameError)
from /home/amer/.rvm/gems/ruby-1.9.3-p327/gems/activesupport-3.2.9/lib/active_support/inflector/methods.rb:229:in `each'
from /home/amer/.rvm/gems/ruby-1.9.3-p327/gems/activesupport-3.2.9/lib/active_support/inflector/methods.rb:229:in `constantize'
from /home/amer/.rvm/gems/ruby-1.9.3-p327/gems/devise-2.1.2/lib/devise.rb:256:in `get'
from /home/amer/.rvm/gems/ruby-1.9.3-p327/gems/devise-2.1.2/lib/devise/mapping.rb:77:in `to'
from /home/amer/.rvm/gems/ruby-1.9.3-p327/gems/devise-2.1.2/lib/devise/mapping.rb:72:in `modules'
from /home/amer/.rvm/gems/ruby-1.9.3-p327/gems/devise-2.1.2/lib/devise/mapping.rb:89:in `routes'
from /home/amer/.rvm/gems/ruby-1.9.3-p327/gems/devise-2.1.2/lib/devise/mapping.rb:156:in `default_used_route'
from /home/amer/.rvm/gems/ruby-1.9.3-p327/gems/devise-2.1.2/lib/devise/mapping.rb:66:in `initialize'
from /home/amer/.rvm/gems/ruby-1.9.3-p327/gems/devise-2.1.2/lib/devise.rb:290:in `new'
from /home/amer/.rvm/gems/ruby-1.9.3-p327/gems/devise-2.1.2/lib/devise.rb:290:in `add_mapping'
from /home/amer/.rvm/gems/ruby-1.9.3-p327/gems/devise-2.1.2/lib/devise/rails/routes.rb:208:in `block in devise_for'
from /home/amer/.rvm/gems/ruby-1.9.3-p327/gems/devise-2.1.2/lib/devise/rails/routes.rb:207:in `each'
from /home/amer/.rvm/gems/ruby-1.9.3-p327/gems/devise-2.1.2/lib/devise/rails/routes.rb:207:in `devise_for'
from /home/amer/Documents/Rails_Projects/omrails/omrails1/config/routes.rb:3:in `block in <top (required)>'
from /home/amer/.rvm/gems/ruby-1.9.3-p327/gems/actionpack-3.2.9/lib/action_dispatch/routing/route_set.rb:282:in `instance_exec'
from /home/amer/.rvm/gems/ruby-1.9.3-p327/gems/actionpack-3.2.9/lib/action_dispatch/routing/route_set.rb:282:in `eval_block'
from /home/amer/.rvm/gems/ruby-1.9.3-p327/gems/actionpack-3.2.9/lib/action_dispatch/routing/route_set.rb:260:in `draw'
from /home/amer/Documents/Rails_Projects/omrails/omrails1/config/routes.rb:1:in `<top (required)>'
from /home/amer/.rvm/gems/ruby-1.9.3-p327/gems/railties-3.2.9/lib/rails/application/routes_reloader.rb:40:in `block in load_paths'
from /home/amer/.rvm/gems/ruby-1.9.3-p327/gems/railties-3.2.9/lib/rails/application/routes_reloader.rb:40:in `each'
from /home/amer/.rvm/gems/ruby-1.9.3-p327/gems/railties-3.2.9/lib/rails/application/routes_reloader.rb:40:in `load_paths'
from /home/amer/.rvm/gems/ruby-1.9.3-p327/gems/railties-3.2.9/lib/rails/application/routes_reloader.rb:16:in `reload!'
from /home/amer/.rvm/gems/ruby-1.9.3-p327/gems/railties-3.2.9/lib/rails/application/routes_reloader.rb:26:in `block in updater'
from /home/amer/.rvm/gems/ruby-1.9.3-p327/gems/activesupport-3.2.9/lib/active_support/file_update_checker.rb:78:in `call'
from /home/amer/.rvm/gems/ruby-1.9.3-p327/gems/activesupport-3.2.9/lib/active_support/file_update_checker.rb:78:in `execute'
from /home/amer/.rvm/gems/ruby-1.9.3-p327/gems/railties-3.2.9/lib/rails/application/routes_reloader.rb:27:in `updater'
from /home/amer/.rvm/gems/ruby-1.9.3-p327/gems/railties-3.2.9/lib/rails/application/routes_reloader.rb:7:in `execute_if_updated'
from /home/amer/.rvm/gems/ruby-1.9.3-p327/gems/railties-3.2.9/lib/rails/application/finisher.rb:66:in `block in <module:Finisher>'
from /home/amer/.rvm/gems/ruby-1.9.3-p327/gems/railties-3.2.9/lib/rails/initializable.rb:30:in `instance_exec'
from /home/amer/.rvm/gems/ruby-1.9.3-p327/gems/railties-3.2.9/lib/rails/initializable.rb:30:in `run'
from /home/amer/.rvm/gems/ruby-1.9.3-p327/gems/railties-3.2.9/lib/rails/initializable.rb:55:in `block in run_initializers'
from /home/amer/.rvm/gems/ruby-1.9.3-p327/gems/railties-3.2.9/lib/rails/initializable.rb:54:in `each'
from /home/amer/.rvm/gems/ruby-1.9.3-p327/gems/railties-3.2.9/lib/rails/initializable.rb:54:in `run_initializers'
from /home/amer/.rvm/gems/ruby-1.9.3-p327/gems/railties-3.2.9/lib/rails/application.rb:136:in `initialize!'
from /home/amer/.rvm/gems/ruby-1.9.3-p327/gems/railties-3.2.9/lib/rails/railtie/configurable.rb:30:in `method_missing'
from /home/amer/Documents/Rails_Projects/omrails/omrails1/config/environment.rb:5:in `<top (required)>'
from /home/amer/Documents/Rails_Projects/omrails/omrails1/config.ru:4:in `block in <main>'
from /home/amer/.rvm/gems/ruby-1.9.3-p327/gems/rack-1.4.1/lib/rack/builder.rb:51:in `instance_eval'
from /home/amer/.rvm/gems/ruby-1.9.3-p327/gems/rack-1.4.1/lib/rack/builder.rb:51:in `initialize'
from /home/amer/Documents/Rails_Projects/omrails/omrails1/config.ru:1:in `new'
from /home/amer/Documents/Rails_Projects/omrails/omrails1/config.ru:1:in `<main>'
from /home/amer/.rvm/gems/ruby-1.9.3-p327/gems/rack-1.4.1/lib/rack/builder.rb:40:in `eval'
from /home/amer/.rvm/gems/ruby-1.9.3-p327/gems/rack-1.4.1/lib/rack/builder.rb:40:in `parse_file'
from /home/amer/.rvm/gems/ruby-1.9.3-p327/gems/rack-1.4.1/lib/rack/server.rb:200:in `app'
from /home/amer/.rvm/gems/ruby-1.9.3-p327/gems/railties-3.2.9/lib/rails/commands/server.rb:46:in `app'
from /home/amer/.rvm/gems/ruby-1.9.3-p327/gems/rack-1.4.1/lib/rack/server.rb:301:in `wrapped_app'
from /home/amer/.rvm/gems/ruby-1.9.3-p327/gems/rack-1.4.1/lib/rack/server.rb:252:in `start'
from /home/amer/.rvm/gems/ruby-1.9.3-p327/gems/railties-3.2.9/lib/rails/commands/server.rb:70:in `start'
from /home/amer/.rvm/gems/ruby-1.9.3-p327/gems/railties-3.2.9/lib/rails/commands.rb:55:in `block in <top (required)>'
from /home/amer/.rvm/gems/ruby-1.9.3-p327/gems/railties-3.2.9/lib/rails/commands.rb:50:in `tap'
from /home/amer/.rvm/gems/ruby-1.9.3-p327/gems/railties-3.2.9/lib/rails/commands.rb:50:in `<top (required)>'
from script/rails:6:in `require'
from script/rails:6:in `<main>'

ここに投稿する前に、Ruby 1.9.3 を再インストールしてみました。rvmを使用しています。使ってみた

rvm gemset empty [gemset_name]

RVM: Uninstalling all gems of a gemset で説明されているように、それも実際には役に立ちませんでした。

私は何をすべきか?ここで何が起こっているのか、誰か説明してもらえますか?

4

2 に答える 2

1

私はあなたの問題を理解しました。あなたは書いrails generate devise installた。これは、モデルとして関連付けinstallて、構成するのではなく、考案したことを意味します。したがって、ファイルはデバイス構成なしで作成されています。

あなたは私が書いたものに従うだけです:
1)'/ config / initializers'devise.rbにファイルを作成します 2)その中に次のコードを書きます:

Devise.setup do |config|
  config.mailer_sender = "devise@example.com"
  config.scoped_views = true
  require 'devise/orm/active_record'#[これはあなたのために働きます]
  config.case_insensitive_keys = [ :email ]
  config.strip_whitespace_keys = [ :email ]
  config.skip_session_storage = [:http_auth]
  config.stretches = Rails.env.test? ? 1 : 10
  config.reconfirmable = true
  config.reset_password_within = 6.hours
  config.sign_out_via = :delete
end

2)そしてターミナルに書き込みrails destroy devise installます。それでおしまい。
上記は確かにうまくいくと思います。

3)サーバーを再起動しますrails s
4)デバイスを慎重に再度インストールします。そして、先に進みます。

于 2012-12-04T04:40:54.417 に答える
0

私はあなたが宝石の問題を抱えているとは思わない、ただ混乱したDeviseのセットアップであり、それはおそらく簡単に混乱しないだろう。

Deviseジェネレーターを(でrails generate Devise:something)実行すると、アプリケーションツリー(app / *)内にアプリケーションに固有のいくつかのファイルを作成するコードが実行されます。Deviseのインストールを調べており、ほとんどがapp/views/deviseディレクトリにあると思いますが、ユーザーモデルも更新される可能性があります。それは間違いなくあなたのファイルを更新し、にapp/routes.rbファイルを作成しますconfig/initializers。他にもあるかもしれません。

これらのいずれかを削除します。ロケールには他のファイル、db / migrateが存在する可能性があります(移行があります。実行しないでください。実行しrake db:rollbackている場合は、削除する前に実行してください)。

次に、インストールを再実行します。

これが機能しない場合の別のアプローチは、新しいダミーのRailsアプリを作成し、そこにデバイスをインストールして、作成されるファイルを確認することです。通常、ジェネレーターは実行内容を報告します。

于 2012-12-04T01:07:32.487 に答える