Ich habe eine Methode, die so etwas macht:
before_filter :authenticate_rights, :only => [:show]
def authenticate_rights
project = Project.find(params[:id])
redirect_to signin_path unless project.hidden
end
Ich möchte diese Methode auch in einigen anderen Controllern verwenden, daher habe ich die Methode in einen Helfer kopiert, der im application_controller enthalten ist.
Das Problem ist, dass in einigen Controllern die ID für das Projekt nicht das :id
Symbol ist, sondern zB :project_id
(und auch a :id
vorhanden ist (für ein anderes Modell)
Wie würden Sie dieses Problem lösen? Gibt es eine Option, um der Aktion before_filter einen Parameter hinzuzufügen (um den richtigen Parameter zu übergeben)?
,:only => [:show]
Symbol hinzuzufügen ? Ich erhalte einen Fehler beim Versuchbefore_filter { |c| c.authenticate_rights correct_id_here }, :only => [:show]