Railsの厳格な命名規則の使用は、多くのコア コードを誰が書いても同じ形式にすべきなのでしょうか (注1)。 友人、同僚、またはコンピュータが書いたものであっても、同じRailsのルールが全員に適用されるため、問題にはなりません。
これは、Railsが実際にあなたの代わりにいくつかの作業を行えることを意味します。…
PHPのような他の言語から来た場合、これは魔法のように思えるかもしれません。
クイックリファレンス:
rails g scaffold Post name:string title:string content:textrails g controller Commentsrails g model Comment commenter:string body:text article:references
##Rails generatorrails generateコマンドは、慣習に従って設計されたテンプレートを使用して、たくさんの便利なものを作成することができます。 rails generate を単独で実行すると、利用可能なジェネレータのリストが表示されます:
rails generate
またはスーパーハッカーのために:
rails g
たくさんのジェネレータがあります:
Rails.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.T.T.T.T.T.T.T.T.T.T.T:
- assets
- controller
- generator
- helper
- integration_test
- mailer
- migration
- model
- observer
- performance_test
- resource
- scaffold
- scaffold_controller
- session_migration
- task
Coffee:
- coffee:assets
Jquery:
- jquery:install
Js:
- js.Js
Js.Js>
- coffee:assets
##Scaffolding in Rails
Rails の scaffolding ツールは、アプリケーションの主要なコードの一部を生成する迅速な方法です。 これは、すばやく稼働させたいときに、多くの時間を節約します! (超クールです!)
作成したいものに応じて、scaffolding は以下のすべてまたは組み合わせを自動生成できます。 これが完全なリストかどうかはわかりません!
##Scaffolding a whole resource
オブジェクト (単数形) に関連するものを scaffold しています
アプリケーションを scaffold したい場合、そのアプリケーション内の各リソースを scaffold する必要があります。 たとえば、ブログ アプリケーションを作成する場合、Post リソース全体を scaffold することができます:
rails g scaffold Post
リソース名
Post
は次のようにする必要があります:- UpperCamelCase
- SINGULAR
この名前はモデル、たとえば Post の名前となるつもりです。 また、コントローラクラスの名前 (ただし複数形)、たとえば PostsController とテーブルの名前 (ただし複数形)、たとえば posts
クラス名の後に、テーブルカラムとそのデータ型を追加することができます。
rails g scaffold Post name:string title:string content:text
これらのテーブル列の名前は次のようにします。
- lower_snake_case
- SINGULAR
これは、各 Post アイテムは各列に格納される 1 つの値を持つようにすることを意味しているからです。
この scaffold を実行すると、これらのすべてのファイルが作成されます。
PostController 内で、すべての RESTful メソッドが作成され、それらはすべて対応するビュー ファイルを持っています。
マイグレーションファイルを作成した後、データベースに変更を加えるために、忘れずに実行してください:
rake db:migrate
##Generating just a controller
It controls lots of objects (so it is plural)
Sometimes, you want to generate just a controller.If you have been upgraded to a database, in a database.
rails g controller Comments
コントローラ名は次のようにする必要があります:
- UpperCamelCase
- PLURALIZED
これは、コントローラがオブジェクトの多くの例を処理するので、複数の名前でなければなりません。
これはこれらのファイルを作成します:
これは移行ファイルやモデルファイルを作成することはありません。
##Generating just a model
You are generating the outline of an object (singular)
If you just want to create a model, you can do:
rails g model Comment
- UpperCamelCase
- SINGULAR
If you can also add the column names to this for you want to:
rails g model Comment commenter:string body:text article:references
これらのテーブルの列名は次のようになります:
- lower_snake_case
- SINGULAR
モデルを生成するとこれらのファイルが作られます:
。