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

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