rails:3811
From: dezawa <dezawa@a...>
Date: Thu, 20 Sep 2012 17:54:42 +0900
Subject: [rails:3811] Re: Rails3 での routs.rb , url_for で困っています
出沢です いつも素早いご回答ありがとうございます。 これですと controller 毎にこつこつ書かねばならんですね。 同じ actionを持つcontrollerが 10 ぐらいあるので、 できればまとめて始末したいなと思っています。 最後の手段は確保できました、ありがとうございます。 (2012年09月20日 14:55), 前島真一 wrote: > 前島です。 > > こんな感じでどうでしょうか。 > > resources :controller do > get 'other', :on => :member > get 'another', :on => :collection > end > > > > 日付:2012年9月20日木曜日、時刻:14:45、差出人:dezawa: > >> 出沢 @ Rails3.2への移行勉強中 です >> >> お世話になっています >> >> id がパラメータに必要な show, edit などのactionと、 >> 不要な action の同居がうまく行かなくなりました。 >> >> Rails3.2では >> (1) url_for( model ) => /controller/1 >> (2) url_for(:action => :show , :id => 1 ) => /controller/1 >> (3) url_for(:action => :edit , :id => 1 ) => /controller/1/edit >> (4) url_for(:action => :other, :id => 1 ) => /controller/other/1 >> (5) url_for(:action => :another,:id =>1 ) => /controller/another >> >> となります。 >> route.rb を default のままにすると、(4)(5) で >> Couldn't find Controller with id=other >> となります。 >> >> match '/:controller/:action' を追加すると (5) が >> match '/:controller/:action/:id'を追加すると (4) が >> >> 通る様になりますが(1)(2)(3) が >> No route matches [GET] "/controller/1" >> となります。 >> >> actionpack-3.2.0/CHANGELOG.md に以下のような記述があったので、 >> (2)(3)も(4)の様なurlなるかと思ったのですが違いました。 >> <<<< >> * Fixed three bugs with the url_for/redirect_to/link_to handling. >> Considering the url http://localhost:81/friends/show/1 >> >> url_for(:action => "list") >> ...used to give http://localhost:81/friends/list/1 >> ......now gives http://localhost:81/friends/list >> url_for(:controller => "friends", :action => "destroy", :id => 5) >> ...used to give http://localhost:81/friends/destroy >> ......now gives http://localhost:81/friends/destroy/5 >> >> Considering the url http://localhost:81/teachers/show/t >> >> url_for(:action => "list", :id => 5) >> ...used to give http://localhost:81/5eachers/list/t >> ......now gives http://localhost:81/teachers/list/5 >>>>> >>>> >>> >> >> >> >> >> さて、 >> [1] (2)(3)も(4)の様な URL にするためのおまじないはあるのでしょうか >> [2] (1)〜(5)が皆通る route.rb の書き方はあるでしょうか。 >> >> よろしくお願いします >> 出沢 >> >> ### >> show に替えて view、edit に替えて modify などにして逃げる手も考えた >> のですが後に響きそうなので保留しています。 >> ### >> これから url_for のソース覗いてみます。 >> >> >> -- >> ML: rails@r... (mailto:rails@r...) >> 使い方: http://QuickML.com/ > > > >
3809 2012-09-20 07:45 [dezawa@a... ] Rails3 での routs.rb , url_for で困っています 3810 2012-09-20 07:55 ┣[netwillnet@g... ] -> 3811 2012-09-20 10:54 ┃┣[dezawa@a... ] 3814 2012-09-20 12:01 ┃┗[dezawa@a... ] 3812 2012-09-20 11:24 ┣[sugi@n... ] 3813 2012-09-20 11:52 ┃┗[dezawa@a... ] 3816 2012-09-20 12:17 ┃ ┗[sugi@n... ] 3815 2012-09-20 12:12 ┗[dezawa@a... ] なぜ show/1, edit/1 でないのか? 3817 2012-09-20 12:31 ┗[sugi@n... ] 3818 2012-09-20 12:46 ┗[dezawa@a... ]