私はRailsおよび Hartlのチュートリアル を使用して作業するのは初めてです。2回目にチュートリアルを実行して、最新のRailsのバージョン。appフォルダーからRails server
をロードしようとすると、次のエラーが発生します。
$ Rails s
=> Booting WEBrick
=> Rails 4.0.4 application starting in development on
=> Run `Rails server -h` for more startup options
=> Ctrl-C to shutdown server
Exiting
/Users/sierra/Desktop/sample_app_2/config/environments/development.rb:1:in
`<top (required)>': undefined method `configure' for
#<SampleApp2::Application:0x00000101a74610> (NoMethodError)
私のGemfileはHartlチュートリアルから直接です:
source 'https://rubygems.org'
Ruby '2.1.0'
#Ruby-gemset=railstutorial_Rails_4_0
gem 'Rails', '4.0.4'
group :development, :test do
gem 'sqlite3', '1.3.8'
gem 'rspec-Rails', '2.13.1'
end
group :test do
gem 'Selenium-webdriver', '2.35.1'
gem 'capybara', '2.1.0'
end
gem 'sass-Rails', '4.0.1'
gem 'uglifier', '2.1.1'
gem 'coffee-Rails', '4.0.1'
gem 'jquery-Rails', '3.0.4'
gem 'turbolinks', '1.1.1'
gem 'jbuilder', '1.0.2'
group :doc do
gem 'sdoc', '0.3.20', require: false
end
group :production do
gem 'Rails_12factor', '0.0.2'
end
次の手順で解決しました。
ステップ1:Project_Root_Directory/config/environment/development.rbに移動します
この行を変更
Rails.application.configure do
に
Your_Rails_Application_Folder_name::Application.configure do
たとえば、my Rails project folder name is 'Spree_demo' so Your_Rails_Application_Folder_name in the following line:
Your_Rails_Application_Folder_name::Application.configure do
として置き換えられます
SpreeDemo::Application.configure do
注:削除されるアプリケーションフォルダー名の下線を参照してください。
それが皆さんのために働くことを願っています。
最初のセットRuby以前のバージョンRails new
私は同じ問題を抱えていて、与えられた答えを試しましたが、影響はありませんでした。アンダースコアを取り除くために名前を変更しようとしても、影響はありませんでした。
問題はあなたがこれをしたことです:
$ Rails new app_name
しかし、あなたのRubyバージョンはおそらく2.1.1または何か他のものでした。あなたがしたいこと:
$ rvm 2.0.0
新しいアプリを実行する前に、Gemfileに2.0.0を設定すると(Hartlの推奨どおり)、適切な場所に配置されます。
なぜこれが機能するのかはわかりません。誰かがそれに光を当ててくれることを願っていますが、これは現在リードしている回答よりもうまく機能したと言えます。
それは私にも起こりました。問題は、Railsの1つのバージョンを使用してプロジェクトを作成したことです。次に、Gemfileを変更して、別のバージョンのRailsを使用し、システムがそれを使用していました。サーバーを足場にしたり実行したりする初心者の問題!同じバージョンを一貫して使用することで問題を解決できるはずです:-)
Gemfileをいじったときにこの問題が発生しました。たとえば、私はRails 4.0.2またはそのようなものを使用してアプリを作成しました。その後、いくつかのエラーのために、私は4.1.1に変更しました。この変更により、開発と本番の両方でまったく同じ問題が発生します。