So, I have this code in a controller:
before_filter :require_login, :only => :new, :edit, :destroy
My controller has these methods: index, new, edit, create, update, show, destroy.
What I want to do is to protect with login_required (:require_login in the code) the methods: new, edit, destroy, but the above code doesn’t work, I can protect one method if i have, for example:
before_filter :require_login, :only => :new
But I want to protect the three of them, How can I do it?
You’re missing square brackets around the
onlyoption’s value:It’s not working because the Ruby interpreter doesn’t know where the options for only start and the arguments for
before_filtercontinue. This is case where you need to be explicit about the container.