Railsでscafordで生成される画面とコントローラの流れ
Last-modified: Tue, 23 Sep 2014 18:01:36 JST (3731d)
Top > Railsでscafordで生成される画面とコントローラの流れ
Railsでscafordで生成される画面とコントローラの流れ
- scafordで生成されるコントローラのアクションは以下のとおり
- index
- show
- new
- edit
- create
- update
- destroy
- プライベートメソッドとして、
- set_hogehoge
- hogehoge_params
がある。before_action :set_hogehoge, only: [:show, :edit, :update, :destroy]
が定義される。
- before_actionの意味は、
[:show, :edit, :update, :destroy]
の各アクションが呼ばれる前に、 set_hogehogeメソッドを実行せよという意味。- set_hogehogeメソッドは、
def set_hogehoge @hogehoge = Hogehoge.find(params[:id]) end
とあるので、外部からのパラメタidの値でfindしたレコードが@hogehogeに格納される。 - @hogehogeの値は、Viewで参照される。
- set_hogehogeメソッドは、
- Viewには、index、new、show、editと対応するerbファイルが生成される。
- ルーティングは以下のように設定される。
hogehoges GET /hogehoges(.:format) hogehoges#index POST /hogehoges(.:format) hogehoges#create new_hogehoge GET /hogehoges/new(.:format) hogehoges#new edit_hogehoge GET /hogehoges/:id/edit(.:format) hogehoges#edit hogehoge GET /hogehoges/:id(.:format) hogehoges#show PATCH /hogehoges/:id(.:format) hogehoges#update PUT /hogehoges/:id(.:format) hogehoges#update DELETE /hogehoges/:id(.:format) hogehoges#destroy
- ここで、ルーティングでGET部分だけ抜き出してみる。
hogehoges GET /hogehoges(.:format) hogehoges#index new_hogehoge GET /hogehoges/new(.:format) hogehoges#new edit_hogehoge GET /hogehoges/:id/edit(.:format) hogehoges#edit hogehoge GET /hogehoges/:id(.:format) hogehoges#show
- /hogehoges
にアクセスすると、indexアクションが呼ばれる。 - /hogehoges/new
にアクセスすると、newアクションが呼ばれる。 - /hogehoges/1/edit
にアクセスすると、id=1のパラメタをつけてeditアクションが呼ばれる。 - /hogehoges/1
にアクセスすると、id=1のパラメタをつけてshowアクションが呼ばれる。
- まとめると以下の様なフローになる。
Counter: 778,
today: 2,
yesterday: 0
このページの参照回数は、778です。