0

次のコードがあります。

class Admin::ApplicationController < ApplicationController
  include Admin::AuthHelper
  before_filter :authorize
  layout 'admin/application'

  protected
  def authorize
      if controller_name != 'Auth' && action_name != 'login'
        if is_authenticated_admin!
          redirect_to :admin_login, :flash => { warning: t(:unauthorized) }
        end
      end
  end
end

交換することは可能ですか:

if controller_name != 'Auth' && action_name != 'login'

ルートが名前付きルートではないことを単純にチェックするもので:admin_login? Rails 4.0.1 を使用しています。

4

1 に答える 1

2

これを行う1つの方法は、次のようbefore_filterに on the actionを禁止することだと思います::admin_login

before_filter :authorize, :except => [:admin_login]

その結果、最初のステートメントを取り除くことができ、ifまったく心配する必要はありません。

質問を誤解している場合はお知らせください。

于 2013-11-11T04:11:23.940 に答える