[前][次][番号順一覧][スレッド一覧]

rails:3810

From: 前島真一 <netwillnet@g...>
Date: Thu, 20 Sep 2012 14:55:58 +0900
Subject: [rails:3810] Re: Rails3 での routs.rb , url_for で困っています

前島です。

こんな感じでどうでしょうか。

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...         ]