здесь идет
В application_controller.rb:
Размещение этого кода в application_controller сделает его доступным для всех ваших контроллеров.
class ApplicationController < ActionController::Base
protect_from_forgery
protected
def confirm_logged_in
unless session[:id]
flash[:notice] = "Please log in"
redirect_to :root
return false
else
return true
end
end
end
Затем вы можете использовать этот метод в любом из контроллеров, которые требуют его, например,
Если вам нужно подтвердить, что пользователи вошли в систему для действия show, тогда
class UsersController < ApplicationController
before_filter :confirm_logged_in, :only => [:show]
def show
#all your code
end
end
должно работать, так как это подтвердит, что пользователи, имеющие доступ к этому URL-адресу, вошли в систему.
Для получения дополнительной информации перейдите по этой ссылке к направляющим рельсов на фильтрах . Также могут быть более эффективные способы достижения этого.
Однако я бы предложил использовать драгоценный камень, такой как Cancan ( Github ), поскольку я использовал это во многих приложениях и хорошо работает. Код, представленный выше, является базовым, и есть много лучших и продвинутых способов справиться с этим, но он должен делать свою работу. Надеюсь, это поможет.