質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Ruby on Rails

Ruby on Railsは、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

Q&A

0回答

619閲覧

rails g controller usersを実行するとターミナルでエラーが発生する

s05098st

総合スコア0

Ruby on Rails

Ruby on Railsは、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

0グッド

0クリップ

投稿2021/03/01 13:26

 プログラミングの勉強を初めて、2ヶ月ちょっとの初心者です。現在勉強のために、pictweetに似た個人アプリを作成しております。
日本酒の情報をメインに扱うアプリです。そのアプリのuserコントローラーを生成するために、
rails g controller usersを実行したところ、ターミナル上に下記のエラーが出ました。
/Users/shibuyatakayuki/.rbenv/versions/2.6.5/lib/ruby/gems/2.6.0/gems/activerecord-6.0.3.5/lib/active_record/dynamic_matchers.rb:22:in method_missing': undefined method before_action' for #Class:0x00007ffe957a17c8
Did you mean? before_commit (NoMethodError)
エラーを見ても、dynamic matchersというファイルについて指摘されていたので確認しましたが、自分で作成したファイルでなく、エラーの意味が分かりませんでした。
自分で考えた結果、アプリを作りはじめた時に、GemFileにgem 'active_hash'を追記して、bundle installしたのですが、これが原因なのではないかと考えました。後でactive_hashを使う予定が当たっため、先に作成しました。
また、article.rb及び**************_create_articles.rbは作成済みですが、genre.rbと原因を調べる方法も分からず、困惑しております。また、原因が正しかたっとしても、対処方法がわかりません。
どなたか情報をお持ちの方がいらっしゃいましたら、お知恵を貸して頂けませんでしょうか。初心者で、質問の仕方もできていないと思いますが、どうか宜しくお願い致します。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

shinoharat2

2021/03/03 16:20

質問文の内容だけだと、ちょっと原因の特定が難しいかもしれません。 以下のように新規アプリを作成した場合は、コントローラーを生成できますか? $ cd ~ $ rails new teratail_325404 $ cd teratail_325404 $ rails g controller users
shinoharat2

2021/03/03 16:26

> また、article.rb及び**********_create_articles.rbは作成済みですが、 質問の内容とどう関連しているのかが読み取れませんでした。 article.rb というのは model でしょうか? **********_create_articles.rb というのはマイグレーションファイルですかね? 「モデルとマイグレーションの generate は成功するが、コントローラーの generate だけ失敗する」ということをおっしゃられたいのでしょうか?
shinoharat2

2021/03/03 16:31

> genre.rbと原因を調べる方法も分からず、困惑しております。 ここも、おっしゃられている意味がよくわかりません。 genre.rb というのも質問者さんが自作された model のファイルでしょうか?
shinoharat2

2021/03/03 16:40

> 自分で考えた結果、アプリを作りはじめた時に、GemFileにgem 'active_hash'を追記して、bundle installしたのですが、これが原因なのではないかと考えました。 以下の手順で、active_hash が原因かどうかを判断できると思います。 (1) Gemfile の「gem 'active_hash'」の行を削除またはコメントアウトする (2) bundle install (3) rails g controller users これで同じエラーになるなら、active_hash が原因の可能性はかなり薄れます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問