0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

rails g scaffoldが返ってこない

Posted at

はじめに

railsチュートリアルの2章でrails generate scaffoldを実行したところコマンドが返ってきませんでした。最初は私の通信環境のせいだと思っていましたが通信環境を変えても変化がなく、調べたら原因が分かったのでその解決方法をメモがてら書いていこうと思います。

具体的な内容

ubuntu:~/environment/toy_app (master) $ rails generate scaffold User name:string email:string

上記のコマンドを実行したところこの状態のまま5分以上変化がありませんでした。

原因

結論からいうと今回の問題はgemfile内にあるspringというパッケージが原因です。
このspringの役割は(以下引用)

・Rails4からデフォルトで入ったアプリケーションプリローダー
・一部のタスクを前もって実行しておき、その後に必要なタスク時間を短縮する
・アプリケーションをバックグラウンドで実行し続けてくれる
・アプリーケーションコードを編集したら内部のリロードを自動的に実行する

となっています。

今回の場合、rails generate scaffoldとspringというパッケージが競合するためコマンドがうまく実行されていなかったようです。

なのでこの問題は下記のコマンドを実行してspringの機能を止めてからrails generate scaffoldを実行することで解決します。

spring stop

springを停止させた状態で下記コマンドを実行します。(userモデル等はrailsチュートリアル2章のもの)

$ rails generate scaffold User name:string email:string

今度はちゃんと実行されました。

ubuntu:~/environment/toy_app (master) $ rails generate scaffold User name:string email:string
Running via Spring preloader in process 19734
      invoke  active_record
      create    db/migrate/20210705045655_create_users.rb
      create    app/models/user.rb
      invoke    test_unit
      create      test/models/user_test.rb
      create      test/fixtures/users.yml
      invoke  resource_route
       route    resources :users
      invoke  scaffold_controller
      create    app/controllers/users_controller.rb
      invoke    erb
      create      app/views/users
      create      app/views/users/index.html.erb
      create      app/views/users/edit.html.erb
      create      app/views/users/show.html.erb
      create      app/views/users/new.html.erb
      create      app/views/users/_form.html.erb
      invoke    test_unit
      create      test/controllers/users_controller_test.rb
      create      test/system/users_test.rb
      invoke    helper
      create      app/helpers/us_helper.rb
      invoke      test_unit
      invoke    jbuilder
      create      app/views/users/index.json.jbuilder
      create      app/views/users/show.json.jbuilder
      create      app/views/users/_user.json.jbuilder
      invoke  assets
      invoke    coffee
      create      app/assets/javascripts/users.coffee
      invoke    scss
      create      app/assets/stylesheets/users.scss
      invoke  scss
      create    app/assets/stylesheets/scaffolds.scss

まとめ

rails generate scaffoldとspringが競合した原因自体はわかりませんでしたが今回の件でエラーが起きた時には臨機応変に対応することが大切だと改めて感じました。

引用

https://dara-blog.com/about-rails-error05

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?