I need to set up a before_filter in my ApplicationController that redirects a user if they have not yet agreed to a new terms of service. However, I want to restrict the filter to only run based on the type of request.
I'd like to write something like this:
class ApplicationController
before_filter :filter, :only => {:method => :get}
Is something like this possible?
before_filter :do_if_get
private
def do_if_get
return unless request.get?
# your GET only stuff here.
end
Or more simply
before_filter :get_filter, if: Proc.new {|c| request.get? }
private
def get_filter
# your GET only stuff here.
end
Compliments to deefours answer, this also work with Sinatra::Request
before do
something if request.get?
end
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.