Gå til innhold

Anbefalte innlegg

Hei,

 

Jeg skulle gjerne kjørt et before filter på en index action i en controller, øverst i controlleren har jeg definert følgende filter:

 

before_filter has_rights?

 

Videre har jeg definert metoden som følger:

 

def has_rights?

#raise "Hello"

return false

end

 

Men selvom den returnerer false så vil action'en bli kjørt.... Meningen er jo at hvis det blir returnert false i et filter så skal det terminates.

 

Selve metoden blir kalt da jeg kan redirecte osv og dette funker, virker bare som om den ignorerer false

 

Noen som har noen tips?

Mvh

Joakim T

Lenke til kommentar
Videoannonse
Annonse
Meningen med et filter er ikke at actionen ikke skal kjøres hvis filteret returnerer false.

Men om vi går noen versjoner tilbake, så fungerte filterne slik.

 

Fra http://github.com/rails/rails/blob/1266824...ller/filters.rb

	# Filters have access to the request, response, and all the instance variables set by other filters in the chain
# or by the action (in the case of after filters). Additionally, it's possible for a pre-processing <tt>before_filter</tt>
# to halt the processing before the intended action is processed by returning false or performing a redirect or render.
# This is especially useful for filters like authentication where you're not interested in allowing the action to be
# performed if the proper credentials are not in order.

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...