rails:3116
From: paptimusx <paptimusx@g...>
Date: Mon, 27 Jul 2009 20:41:29 +0900
Subject: [rails:3116] restful_authentication+File_Publisher の組合せがうまくいかない
restful_authentication と File_Publisher(http://webservice.nifty.com/rails_plugin/)を 組合せてみました。Rails2.3.2 on Ruby1.8.6 on Windows です。 認証なしだとFile_Publisherはうまく動きます。 File_Publisher以外のcontrollerはうまく動いています。 両者ともうまく動いているので単純に組み合わせてみました。 ところが... 認証つきFile_Publisherにしてみると初回はうまくいくのですが、リンクを辿ると例外が発生して しまいました。perform_actionというルーチンの差し替えのあたりです。(この先はどうやって辿れば よいかわかりません) File_Publisherのソースも読んでみたのですが、問題がありそうな処理はなさそうです。 2.3.2にしたせいでしょうか。 どなたかヒントを頂ければ助かります。よろしくお願いします。 C:/Ruby/lib/ruby/gems/1.8/gems/activesupport-2.3.2/lib/active_support/dependencies.rb:414:in `load_missing_constant' C:/Ruby/lib/ruby/gems/1.8/gems/activesupport-2.3.2/lib/active_support/dependencies.rb:80:in `const_missing' C:/USER/HOME/Rails/test8/lib/authenticated_system.rb:99:in `login_from_session' C:/USER/HOME/Rails/test8/lib/authenticated_system.rb:13:in `current_user' C:/USER/HOME/Rails/test8/lib/authenticated_system.rb:6:in `logged_in?' C:/USER/HOME/Rails/test8/app/controllers/application_controller.rb:17:in `login_required_me' ApplicationController include AuthenticatedSystem before_filter :login_required private def login_required redirect_to login_path unless logged_in? end Sessionscontroller skip_filter :login_required lib/authenticated_system.rb: module AuthenticatedSystem protected # Returns true or false if the user is logged in. # Preloads @current_user with the user model if they're logged in. def logged_in? !!current_user end def current_user #### @current_user ||= (login_from_session || login_from_basic_auth || login_from_cookie) unless @current_user == false # org @current_user ||= (login_from_session) unless @current_user == false ← 例外発生 end def current_user=(new_user) session[:user_id] = new_user ? new_user.id : nil @current_user = new_user || false end def login_from_session self.current_user = User.find_by_id(session[:user_id]) if session[:user_id] ← 例外発生 end rescue.rb: : module Rescue private def perform_action_with_rescue #:nodoc: perform_action_without_rescue ← 例外発生 rescue Exception => exception rescue_action(exception) end -- ML: rails@r... 使い方: http://QuickML.com/