質問: ### 質問の意図 Ruby on Railsを使ったアプリケーションを作成しています。 しかし、参考書を片手にRuby on Railsを導入しているため、理解が非常に浅い状態です。 そのため、アプリケーションを実行するまでの一連の手順について、自分の中で落とし込めるレベルになりたいです。 具体的な手順を記述した後、自身で理解が浅い部分について質問しています。 その部分についての回答と、手順の中でツッコミ所があれば、ご指摘いただきたいです。 ここでは、インスタグラムもどきのサイトを作成したいと考えています。 ### 具体的な手順 1.Ruby on Railsをinstagramフォルダにインストールします。 ``` rails _4.2.3_ new instagram -d postgresql ``` 2.コントローラを作成します。 ``` rails g controller instagram mypage ``` 3.モデルを作成します。 ``` rails g model user ``` モデルを作成すると、マイグレーションファイルが同時に作成されます。 マイグレーションファイル名は、モデルを作成した際の名称の複数形(?)が自動的に割り当てられます。 ここで、`XXXXXXXXXXXX_create_users.rb`のようなファイルが作成されます。 4.DBを作成します。 ``` rake db:create rake db:migrate ``` `rake db:migrate`を実行することで、先ほどのマイグレーションファイルに記述された内容を基に、 テーブルが作成されます。これで、`users`テーブルを作成することができました。 ここまでで、一通りの機能を揃えることができました。 ### ここまでの手順の疑問点 1.コントローラの名称とモデルの名称は一致させる必要はありませんか? 2.テーブルを増やしたいときに、モデルとマイグレーションファイルを作成する必要があるということですか? 3.マイグレーションファイル名は、モデルを作成した際の複数形(?)が自動的に割り当てられるようですが、自分で自由に決めないほうがいいんでしょうか? ### 補足情報 手順に誤りがあれば、都度修正します。 大分素人ですが、よろしくお願いします...
回答: > > コントローラの名称とモデルの名称は一致させる必要はありませんか? > > > Railsの習慣として、関連するものであれば一致させる的なのはありますが、絶対ではないです。 > > テーブルを増やしたいときに、モデルとマイグレーションファイルを作成する必要があるということですか? > > > そういうことだと思います。実行コマンド`rails g model ModelName` > > マイグレーションファイル名は、モデルを作成した際の複数形(?)が自動的に割り当てられるようですが、自分で自由に決めないほうがいいんでしょうか? > > > 自分で決める必要性がないかと思います。