前提・実現したいこと
前提
書籍「たった1日で基本が身に付くRuby on Rails」のチャプター6を学んでいます。
Scaffoldコマンドを実行する(P108)の部分を読み進めています。
実行結果を翻訳してみると
「「日記」という名前は、アプリケーションですでに使用されているか、Ruby on Railsによって予約されています。代替を選択するか、-forceを使用してこのチェックをスキップし、このジェネレータを再度実行してください。」
とあります。
確かに日記アプリを作るためにdiaryは使っています。それは書籍に沿って進めているためなので、違う名称(例:Diary以外)だと連携が取れなくなると推察するのですが、違う名称で「rails g scaffold 〇〇 title:string body:text」を実行しても良いのでしょうか?
実行したいこと
書籍の実行結果と同様の結果が得たいです。
発生している問題
> rails g scaffold diary title:string body:text invoke active_record The name 'Diary' is either already used in your application or reserved by Ruby on Rails. Please choose an alternative or use --force to skip this check and run this generator again.
該当のソースコード
「rails g scaffold diary title:string body:text」のコマンドを実行すると以下のような結果になるらしいのですが、実行すると上記のような「発生している問題」のような結果になります。(書籍の実行結果)
> rails g scaffold diary title:string body:text invoke active_record identical db/migrate/20170807093803_create_diaries.rb identical app/models/diary.rb invoke test_unit identical test/models/diary_test.rb conflict test/fixtures/diaries.yml Overwrite /Users/200085/sandbox/rails/rails5_sample_for_book/test/fixtures/ diaries.yml? (enter "h" for help)[Ynaqdh]n skip test/fixtures/diaries.yml 中略 create app/assets/stylesheets/scaffolds.scss
試したこと
もしかしたら記述コードのミスが原因かと思い、コードを見直しながら再度入力して実行してみましたが、結果は変わりませんでした。
補足情報(FW/ツールのバージョンなど)
Ruby 2.6.3p62
Rails 6.0.3.2
macOS Catalina 10.15.6
VSCOde 1.47.3
回答1件
あなたの回答
tips
プレビュー