Tag: 前filter

before_filter with devise

我正在使用Devise内置的before_filter :authenticate_user! 。 如果用户未通过filter(尝试在注销时执行操作),我想在我的应用程序助手中调用我自己的自定义方法。 我该怎么做?

:除了不在应用程序控制器中的before_filter中工作。 路由问题?

我的应用程序控制器中有一个before_filter来保持用户的会话处于活动状态(如果已经超时,则将其注销)。 这应该在除/ sessions / new和/ sessions / destroy之外的每个操作上调用,这些操作被路由为/ login和/ logout。 我的应用程序控制器的相关部分看起来像这样; class ApplicationController [:login, :logout] private def update_activity_time if current_user time_out = current_user.setting.remember_me ? 20160 : current_user.setting.user_timeout from_now = time_out.minutes.from_now end if session[:expires_at].blank? session[:expires_at] = from_now else time_left = (session[:expires_at].utc – Time.now.utc).to_i if time_left “window.location.replace(\”#{login_url}\”)” end end end 和我的routes.rb包含以下内容; map.login “login”, :controller => “sessions”, :action […]

Rails在before_filter方法中设置布局

是否可以在Rails 3中的before_filter方法中重置默认布局? 我有以下作为我的contacts_controller.rb : class ContactsController [:index, :show] def show @contact = Contact.find(params[:id]) respond_to do |format| format.html # show.html.erb format.xml { render :xml => @contact } end end […] end 以及我的application_controller.rb中的以下内容 class ApplicationController < ActionController::Base layout 'usual_layout' private def admin_required if !authorized? # please, ignore it. this is not important redirect_to[…] return false else layout […]

如何跳过Devise的SessionsController的before_filter?

我的ApplicationController有一个before_filter ; 也就是说,对于我项目中的每个控制器。 我怎样才能为Devise的SessionsController创建动作skip_before_filter ?

如何将before_filter应用于Rails 3.2.11中每个控制器的每个动作?

我想validation用户是否登录到服务器的每个请求。 就像是: :before_filter verify_logged_in 我应该在哪里放置before_filter,以便它适用于所有控制器操作和所有请求?

filter出现之前的顺序是什么?

filter出现之前的顺序是什么? 具体来说,关于inheiritance,before_actionfilter出现了什么顺序? 例如,这会工作: class A < ActionController::Base before_action :set_user def set_user @user = something end end class B < A before_action :set_post def show render @post end def set_post @post = @user.posts.first end end “B#show”会起作用吗? 筛选顺序有哪些规则供将来参考? 我在Rails文档中找不到任何这些内容。