したがって、最初に、それらを実行する必要があります。彼らは彼らが作成したファイルをリストし、あなたはそれらを見ることができます。
1つ目は、という名前の1つのアクションを使用して、という名前のコントローラーhome
(Web要求に応答するためのコードの一部)を作成しますindex
。アクションは、ant HTTP動詞と/home/index
コントローラーのメソッドに対応するURL(この場合はGET)の組み合わせです。ジェネレーターは、そのアクションをレンダリングするためのダミービューと、いくつかの空のテストファイルとヘルパーファイルも作成します。あなたはそれが印刷するものでそれを見ることができます:
create app/controllers/home_controller.rb
route get "home/index"
invoke erb
create app/views/home
create app/views/home/index.html.erb
invoke test_unit
create test/functional/home_controller_test.rb
invoke helper
create app/helpers/home_helper.rb
invoke test_unit
create test/unit/helpers/home_helper_test.rb
invoke assets
invoke coffee
create app/assets/javascripts/home.js.coffee
invoke scss
create app/assets/stylesheets/home.css.scss
特に便利なのはコントローラーです。
class HomeController < ApplicationController
def index
end
end
Railsにそのアクションで何をさせたいかについての情報を与えていないので(「「インデックス」と呼ばれるアクションで「ホーム」と呼ばれるコントローラーを作成する」と言っただけです)、そのメソッドに入力するのはあなた次第です。そして、あなたは呼び出すことによってURL情報を見ることができますrake routes
:
home_index GET /home/index(.:format) home#index
つまり、GETリクエストを送信する/home/index
と、が呼び出されますHomeController#index
。このメソッドは空であり、Railsに何をレンダリングするかを指示しないため、デフォルトでビューをでレンダリングしますapp/views/home/index.html.erb
。これもジェネレーターが作成し、何か面白いことをすることを期待しています。
2番目のジェネレーターはさらに多くのことを行います。リソースを作成します。これは、データベースに保存するモデルと、そのモデルを操作するための単純なCRUDアクションとダミービューを備えたコントローラーを意味します。したがって、上記のコントローラー/ビューのものに加えて、DBに適切なテーブルを作成するためのアップグレードスクリプトと、モデルとして機能するRubyクラスも作成します。ここで特に最初の2つの「作成」アイテムを見て、エディターにロードします。
invoke active_record
create db/migrate/20130111151206_create_posts.rb
create app/models/post.rb
invoke test_unit
create test/unit/post_test.rb
create test/fixtures/posts.yml
invoke resource_route
route resources :posts
invoke scaffold_controller
create app/controllers/posts_controller.rb
invoke erb
create app/views/posts
create app/views/posts/index.html.erb
create app/views/posts/edit.html.erb
create app/views/posts/show.html.erb
create app/views/posts/new.html.erb
create app/views/posts/_form.html.erb
invoke test_unit
create test/functional/posts_controller_test.rb
invoke helper
create app/helpers/posts_helper.rb
invoke test_unit
create test/unit/helpers/posts_helper_test.rb
invoke assets
invoke coffee
create app/assets/javascripts/posts.js.coffee
invoke scss
create app/assets/stylesheets/posts.css.scss
invoke scss
create app/assets/stylesheets/scaffolds.css.scss
もう一度実行すると、実際に実行できるすべてのアクションを確認できますrake routes
。
posts GET /posts(.:format) posts#index
POST /posts(.:format) posts#create
new_post GET /posts/new(.:format) posts#new
edit_post GET /posts/:id/edit(.:format) posts#edit
post GET /posts/:id(.:format) posts#show
PUT /posts/:id(.:format) posts#update
DELETE /posts/:id(.:format) posts#destroy
最後に、でコントローラーコードをチェックして、app/controllers/PostsController.rb
これらのアクションが実際に何をするかを確認します(もう少し興味深いです)。