fc2ブログ

2023.09 «  1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 - - - - » 2023.11
TOP > CATEGORY > [2.0]Controller

BACK | TOP

Rails 2.0・その1(RESTful なコントローラのメソッド追加)  

2008年01月24日 ()
いわゆる GET や PUT だけではなく、PUT や DELETE なども使って DB のデータの操作をしたりできます。(らしい)

それをするには、config/routes.rb の2行目(ActionController::Routing::Routes.draw do |map| の次の行)に

map.resources :books



と書きます。

そうすると、HTTP の GET POST PUT DELETE 各メソッドで http://localhost:3000/books にアクセスするだけで、Books コントローラのいろんなメソッドに自動的に振り分けてくれます。

rake routes

コマンドを実行して、実際に確かめてみてくださいね。

それに満足できずに、Books メソッドにもっと自分のカスタムメソッドを付け加えたいの、という人は config/routes.rb に

map.resources :books, :member => {:method1 => :post}



と書いてみましょう。そうすると、

[Rails 2.0.2]

http://localhost:3000/books/1/method1



にPOSTでアクセスすると、Books コントローラの method1 メソッドに振り分けられる、というわけでした。

rails 1.2.3 では URL がちょっと違っていて

[Rails 1.2.3]

http://localhost:3000/books/1;method1



だったわけでした。


この自動的に付け加えられるメソッドについて、詳しくはこちらこちらを。

PUT や DELETE を実装しているブラウザが少ないため、実際は

<input type="hidden" name="_method" value="delete">



を含む form を POST で送信してあげます。ですです。

【広告】

[2008.01.24(Thu) 02:00] [2.0]ControllerTrackback(0) | Comments(0) 見る▼
↑TOPへ

BACK | TOP