2017.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 - - - - » 2017.11
TOP > Rails 2.0・その1(RESTful なコントローラのメソッド追加)

 ← Rails 2.0・その2(map.resourcesに名前空間を付けられる) | TOP | Rails 2.0・その0(イントロ)

スポンサーサイト 

--年--月--日 (--)
上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。


【広告】

[--.--.--(--) --:--] スポンサー広告 | Trackback(-) | Comment(-)
↑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へ

 ← Rails 2.0・その2(map.resourcesに名前空間を付けられる) | TOP | Rails 2.0・その0(イントロ)

COMMENT

COMMENT POST















管理者にだけ表示

 ← Rails 2.0・その2(map.resourcesに名前空間を付けられる) | TOP | Rails 2.0・その0(イントロ)
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。