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

rails:1059

From: Akimichi Tatsukawa <akimichi_tatsukawa@y...>
Date: Mon, 17 Apr 2006 00:46:33 +0900 (JST)
Subject: [rails:1059] 1.0から1.1.2にアップグレード後のルーティングエラー

立川察理と申します。初めて投稿いたします。
やや長文となっております。

本日、Railsを 1.0 から 1.1.2 にアップグレードしてみました。
ところが、
        redirect_to :controller => "/admin/patient"

というようにグループ化されたコントローラにリダイレクトしようとしましたが、
適切にルーティングされなくなりました。

ブラウザでは

  Routing Error
  Recognition failed for "/admin/patient"

と表示され、
Webrick のターミナルでは、

  127.0.0.1 - - [17/Apr/2006:00:26:55 JST] "GET /admin/patient HTTP/1.1" 404 602
  http://localhost:3000/account/login -> /admin/patient

となっております。

development.log は次のようになっております。

  ActionController::RoutingError (Recognition failed for "/admin/patient"):
    /usr/lib/ruby/gems/1.8/gems/actionpack-1.12.1/lib/action_controller/routing.rb:488:in `recognition_failed'
    /usr/lib/ruby/gems/1.8/gems/actionpack-1.12.1/lib/action_controller/routing.rb:478:in `recognize!'
    /usr/lib/ruby/gems/1.8/gems/rails-1.1.2/lib/dispatcher.rb:38:in `dispatch'
    /usr/lib/ruby/gems/1.8/gems/rails-1.1.2/lib/webrick_server.rb:115:in `handle_dispatch'
    /usr/lib/ruby/gems/1.8/gems/rails-1.1.2/lib/webrick_server.rb:81:in `service'
    /usr/lib/ruby/1.8/webrick/httpserver.rb:104:in `service'
    /usr/lib/ruby/1.8/webrick/httpserver.rb:65:in `run'
    /usr/lib/ruby/1.8/webrick/server.rb:172:in `start_thread'
    /usr/lib/ruby/1.8/webrick/server.rb:161:in `start'
    /usr/lib/ruby/1.8/webrick/server.rb:161:in `start_thread'
    /usr/lib/ruby/1.8/webrick/server.rb:95:in `start'
    /usr/lib/ruby/1.8/webrick/server.rb:92:in `each'
    /usr/lib/ruby/1.8/webrick/server.rb:92:in `start'
    /usr/lib/ruby/1.8/webrick/server.rb:82:in `start'
    /usr/lib/ruby/1.8/webrick/server.rb:82:in `start'
    /usr/lib/ruby/gems/1.8/gems/rails-1.1.2/lib/webrick_server.rb:67:in `dispatch'
    /usr/lib/ruby/gems/1.8/gems/rails-1.1.2/lib/commands/servers/webrick.rb:59
    /usr/local/lib/site_ruby/1.8/rubygems/custom_require.rb:21:in `require__'
    /usr/local/lib/site_ruby/1.8/rubygems/custom_require.rb:21:in `require'
    /usr/lib/ruby/gems/1.8/gems/activesupport-1.3.1/lib/active_support/dependencies.rb:147:in `require'
    /usr/lib/ruby/gems/1.8/gems/rails-1.1.2/lib/commands/server.rb:30
    /usr/local/lib/site_ruby/1.8/rubygems/custom_require.rb:21:in `require__'
    /usr/local/lib/site_ruby/1.8/rubygems/custom_require.rb:21:in `require'
    /usr/lib/ruby/gems/1.8/gems/activesupport-1.3.1/lib/active_support/dependencies.rb:147:in `require'


環境は以下の通りです。
  ruby 1.8.2
  rails 1.1.2
  Webrick 1.3.1
debian sarge を使っていて、ruby を 1.8.4 にはアップグレードしておりません。

上記 action_controller/routing.rb:478:in `recognize!' 付近のコードも覗いてみましたが、
実行時に recognize_path というメソッドを生成実行するなど複雑怪奇で
とても理解できませんでした。

英語RailsのMLにて「ディスパッチャーが更新されていないから、
RAILS_ROOTにて rails . を実行して、自分で変更したファイル以外は
上書きするように」というアドバイスがありました。
その通りにしてみましたが、問題は解決されておりませんでした。
なお public/dispatch.rb のタイムスタンプは今日付けになっているので
最新版には更新されているようです。

途方に暮れております。どなたか解決法を御存じないでしょうか。




--
ML: rails@r...
使い方: http://QuickML.com/

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

->    1059 2006-04-16 17:46 [akimichi_tatsukawa@y] 1.0から1.1.2にアップグレード後のルーティングエラー
      1060 2006-04-16 17:44 ┣[shachi@j...         ]                                       
      1061 2006-04-16 18:04 ┃┗[akimichi_tatsukawa@y]                                     
      1063 2006-04-17 12:13 ┃ ┗[someeda@g...        ]                                   
      1064 2006-04-17 13:17 ┣[suzk@o...           ]                                       
      1071 2006-04-21 11:09 ┃┗[akimichi_tatsukawa@y]                                     
      1072 2006-04-21 11:18 ┗[akimichi_tatsukawa@y]                                       
      1073 2006-04-21 12:37  ┗[suzk@o...           ]                                     
      1074 2006-04-21 13:46   ┗[akimichi_tatsukawa@y]