Rubyの学習 free227
メソッド[resources]を記述すると自動で8つのアクションを呼び出すルーティングが設定されます。
このアクションから3つアクションを減らします。
この基本の8アクションの中から任意のアクションを3つ選んでルーティングを設定します。
↓Rubyのプログラムを実行すると以下のように表示される。 C:\SadaData\rails\sadachikasample2013>rake routes Prefix Verb URI Pattern Controller#Action preview_kittablog GET /kittablog/:id/preview(.:format) kittablog#preview reset_kittablog POST /kittablog/:id/reset(.:format) kittablog#reset search_kittablog_index GET /kittablog/search(.:format) kittablog#search kittablog_index GET /kittablog(.:format) kittablog#index POST /kittablog(.:format) kittablog#create new_kittablog GET /kittablog/new(.:format) kittablog#new edit_kittablog GET /kittablog/:id/edit(.:format) kittablog#edit kittablog GET /kittablog/:id/(.:format) kittablog#show PATCH /kittablog/:id(.:format) kittablog#update PUT /kittablog/:id(.:format) kittablog#update DELET /kittablog/:id(.:format) kittablog#destroy C:\SadaData\rails\sadachikasample2013>rake routes Prefix Verb URI Pattern Controller#Action kittablog_index GET /kittablog(.:format) kittablog#index POST /kittablog(.:format) kittablog#create new_kittablog GET /kittablog/new(.:format) kittablog#new edit_kittablog GET /kittablog/:id/edit(.:format) kittablog#edit kittablog GET /kittablog/:id/(.:format) kittablog#show PATCH /kittablog/:id(.:format) kittablog#update PUT /kittablog/:id(.:format) kittablog#update C:\SadaData\rails\sadachikasample2013>rake routes Prefix Verb URI Pattern Controller#Action kittablog_index GET /kittablog(.:format) kittablog#index POST /kittablog(.:format) kittablog#create kittablog GET /kittablog/:id/(.:format) kittablog#show DELET /kittablog/:id(.:format) kittablog#destroy C:\SadaData\rails\sadachikasample2013>rake routes Prefix Verb URI Pattern Controller#Action kittablog_index GET /kittablog(.:format) kittablog#index kittablog GET /kittablog/:id/(.:format) kittablog#show PATCH /kittablog/:id(.:format) kittablog#update PUT /kittablog/:id(.:format) kittablog#update C:\SadaData\rails\sadachikasample2013>rake routes Prefix Verb URI Pattern Controller#Action kittablog_index GET /kittablog(.:format) kittablog#index kittablog GET /kittablog/:id/(.:format) kittablog#show
Friday,December,6,2013プログラムの表示
(config/routes.rb)ファイルにメソッド[resources]を記述すると自動で8つのアクションを呼び出すためのルーティングが設定される。 現在のルーティングを確認します(前回の確認)。 ルーティングを確認する(config/routes.rb) コマンドプロンプト cd C:\SadaData\rails\sadachikasample2013 C:\SadaData\rails\sadachikasample2013>rake routes Prefix Verb URI Pattern Controller#Action preview_kittablog GET /kittablog/:id/preview(.:format) kittablog#preview #←新たなアクション reset_kittablog POST /kittablog/:id/reset(.:format) kittablog#reset #←新たなアクション search_kittablog_index GET /kittablog/search(.:format) kittablog#search #←新たなアクション kittablog_index GET /kittablog(.:format) kittablog#index POST /kittablog(.:format) kittablog#create new_kittablog GET /kittablog/new(.:format) kittablog#new edit_kittablog GET /kittablog/:id/edit(.:format) kittablog#edit kittablog GET /kittablog/:id/(.:format) kittablog#show PATCH /kittablog/:id(.:format) kittablog#update PUT /kittablog/:id(.:format) kittablog#update DELET /kittablog/:id(.:format) kittablog#destroy これは基本8つのアクションに新たに3つのアクションをプラスしたものでした。 (config/routes.rb)をサクラエディタで開いて確認する。 下記をみればわかりますが、コントローラ名は「kittablog」です。(app/controllers/kittablog_controller.rb) ビューも作成されています(前回を参照お願いします)。(app/views/Kittablog)に6個のアクション作成 Sadachikasample2013::Application.routes.draw do resources :kittablog do get 'preview', :on => :member post 'reset', :on => :member get 'search', :on => :collection end #member ブロックは特定のデータを対象としたアクションを記述する(アクションに対してはリクエストでIDパラメータを指定する必要) #collection ブロックは全てのデータを対象としたアクションを記述 end -------------------------------------------------------------------- ここからメソッド[resources]の新しい使い方を学んでいきます。 8つの基本アクションの中で不要なアクションを指定しアクションの設定(転送)を減らします。 resources :リソース名 :except => :アクション名 resources :リソース名 :except => [:アクション名, :アクション名, ...] (config/routes.rb)をサクラエディタで開いて内容を書き換えます。 Sadachikasample2013::Application.routes.draw do resources :kittablog, :except => :destroy #←メソッド名、コントローラ名、基本8つの中から取り除きたいアクションを1つ選ぶ end ルーティングを確認する(config/routes.rb) コマンドプロンプト C:\SadaData\rails\sadachikasample2013>rake routes Prefix Verb URI Pattern Controller#Action kittablog_index GET /kittablog(.:format) kittablog#index POST /kittablog(.:format) kittablog#create new_kittablog GET /kittablog/new(.:format) kittablog#new edit_kittablog GET /kittablog/:id/edit(.:format) kittablog#edit kittablog GET /kittablog/:id/(.:format) kittablog#show PATCH /kittablog/:id(.:format) kittablog#update PUT /kittablog/:id(.:format) kittablog#update #←ここにあった[destroy]の設定、アクションが削除された 「new」「edit」「update」アクション3つを削除してみるよ (config/routes.rb)をサクラエディタで開いて内容を書き換えます。 Sadachikasample2013::Application.routes.draw do resources :kittablog, :except => [:new, :edit, :update] #←メソッド名、コントローラ名、基本8つの中から取り除きたい3つのアクション end ルーティングを確認する(config/routes.rb) コマンドプロンプト C:\SadaData\rails\sadachikasample2013>rake routes Prefix Verb URI Pattern Controller#Action kittablog_index GET /kittablog(.:format) kittablog#index POST /kittablog(.:format) kittablog#create #←消えた #←消えた kittablog GET /kittablog/:id/(.:format) kittablog#show #←消えた(アップデートアクションは2つあった) #←消えた(アップデートアクションは2つあった) DELET /kittablog/:id(.:format) kittablog#destroy #←もとに戻ったね (app/controllers/kittablog_controller.rb) (app/views/Kittablog) 共に変化なし。 ------------------------------------------------------------------ここまでで済 メソッド[resources]を使用すると基本設定である8個のルーティングを行ってくれる その中から任意のアクションを選ぶ設定を学ぶ アクション「index」「show」「update」を指定 (config/routes.rb)をサクラエディタで開いて内容を書き換えます。 Sadachikasample2013::Application.routes.draw do resources :kittablog, :only => [:index, :show, :update] #←メソッド名、コントローラ名、作成したいアクションの3つ end ルーティングを確認する(config/routes.rb) コマンドプロンプト C:\SadaData\rails\sadachikasample2013>rake routes Prefix Verb URI Pattern Controller#Action kittablog_index GET /kittablog(.:format) kittablog#index kittablog GET /kittablog/:id/(.:format) kittablog#show PATCH /kittablog/:id(.:format) kittablog#update PUT /kittablog/:id(.:format) kittablog#update 正常にさくせいされました。 アクション「index」「show」を指定 (config/routes.rb)をサクラエディタで開いて内容を書き換えます。 Sadachikasample2013::Application.routes.draw do resources :kittablog, :only => [:index, :show] #←メソッド名、コントローラ名、作成したいアクションの2つ end ルーティングを確認する(config/routes.rb) コマンドプロンプト C:\SadaData\rails\sadachikasample2013>rake routes Prefix Verb URI Pattern Controller#Action kittablog_index GET /kittablog(.:format) kittablog#index kittablog GET /kittablog/:id/(.:format) kittablog#show 正常にさくせいされました。
これは赤色の文字例です。
これは青色の文字例です。