Genel uygulama denetleyicisi ilk yüklendiğinde, ad alanı içinde sayfa yüklerken ad uygulama denetleyicisi yüklenmez. Uygulama denetleyicisi şuna benzer:Raylar 3.2.3 adlandırılmış denetleyiciler aynı ada sahip global denetleyiciler tarafından geçersiz kılınmış
class ApplicationController < ActionController::Base
protect_from_forgery
end
Ve isim alanlı uygulama kontrolörü şöyle görünür: "authenticate_admin"
class Admin::ApplicationController < ApplicationController
def authenticate_admin!
if current_admin.nil?
redirect_to new_admin_session_url
end
end
private
def current_admin
@current_admin ||= Admin.find(session[:admin_id]) if session[:admin_id]
end
helper_method :current_admin
end
biz before_filter kullanmak
Böyle:class Admin::AssetsController < Admin::ApplicationController
before_filter :authenticate_admin!
end
Bir "Yönetim bölümünde NoMethodError :: yeni AssetsController #" atılır. Bu sadece, belirtilen rotadan önce küresel rotayı vurduğumuzda gerçekleşir. Sunucu yeniden başlatılmışsa ve adlandırılmış yol yüklendiyse, her şey düzgün şekilde çalışır.
Bu denetleyiciler hangi dosyalarda? –
app/controllerlers/admin/application_controller.rb, app/kontrolörleri/admin/assets_controller.rb ve app/kontrolörleri/application_controller.rb –