Categories
open all | close allTags
モデル | Migration | スキンエンジン | 国際化 | デュアル・コア | 認証 | JustPosted | Flash | 名称 | アクセス制御 | パソコン | rake | CSRF | RESTful | ドキュメント | Aptana | Subversion | テスト | フォーム | タグSearch
やっと前進
RESTのrespond_toのところだけ使う方法というのが分からずに苦労していたわけですが,本屋で「RailsによるアジャイルWebアプリケーション開発 第2版」のRESTのところを立ち読みしてみたら,書いてありました。あー,やっぱりこの本も必要かなあ…。高いのと厚いので敬遠していたのですが(ちなみに第1版は読みました)。RailsによるアジャイルWebアプリケーション開発 第2版
Dave Thomas、David Heinemeier Hansson、Leon Breedt、Mike Clark、Andreas Schwarz、James Duncan Davidson、Justin Gehtland、前田 修吾
オーム社
2007/10/26
¥ 4,410 (定価)
¥ 4,410 (Amazon価格)
44pt (Amazonポイント)
(私のおすすめ度)
★★★★★ (Amazonおすすめ度)
大型本
通常24時間以内に発送
(価格・在庫状況は11月21日 7:56現在)
Dave Thomas、David Heinemeier Hansson、Leon Breedt、Mike Clark、Andreas Schwarz、James Duncan Davidson、Justin Gehtland、前田 修吾
オーム社
2007/10/26
¥ 4,410 (定価)
¥ 4,410 (Amazon価格)
44pt (Amazonポイント)
(私のおすすめ度)
★★★★★ (Amazonおすすめ度)
大型本
通常24時間以内に発送
(価格・在庫状況は11月21日 7:56現在)
具体的にどうするかというとルーティングのところ,例えばアイテムページは
map.item 'item/:itemid', :controller => 'application', :action => 'item'
といった形になっていたわけですが,まずこれを
map.item 'item/:id', :controller => 'items', :action => 'show'
といったRESTのスタイルのコントローラとアクションに書き換えます。
そして,フォーマットの拡張子に対応するために
map.item 'item/:id.:format', :controller => 'items', :action => 'show'
というのを付け加えます。これで,REST対応のscaffoldが生成したItemsControllerのshowメソッドで受けられるようになります。後は
def show
@item = Item.find(params[:id])
respond_to do |format|
format.html { item }
format.xml { render :xml => @item }
end
end
といった形でHTML形式が要求されたときはitemメソッド(今のところ従来のままApplicationControllerにあります)で表示します。
標準でlayoutファイルが使われることに気付かず,しばらく悩みましたが,ようやくこれでアイテム・ページを表示できるようになりました。拡張子.xmlを付けたらXMLでも表示できました。後はこれにならってルーティングとコントローラ周りを修正すれば,RESTのスタイルになります。
結局表示のREST対応を考えるだけで1ヶ月近くかかってしまいました。このあたりはあまり情報が多くないので苦労します。
Comments
書いてあることが全然わからないわけですけれど(汗)
前に進んでよかったです!
ありがとうございます。
そのうちまとめて,もっと分かりやすい形できちんと書きたいと思います。
今はカテゴリーも全部Generalだし(笑),アイテムのタイトルも毎回似たような感じで,SEOもへったくれもない(というかそもそも知っている人だけ見てくれたらいいと思ってやっているので)状態ですからね~。
