On Apr 8, 7:59 pm, Zac Zheng <[email protected]> wrote:
> I have a special case(does not normally occur) render in a filter.
> Because its in a filter, I can't end execution with a 'return' which
> would work otherwise. Therefore I get this error:
>
> Can only render or redirect once per action
>
what version of rails are you using ? In rails 2 and above rendering
from a filter should cause the filter chain to halt. in previous
versions you had to return false from your filter.

Fred
> My code in gist:
>
> class MyController < ApplicationController
>   before_filter :authenticate
>
>   def priviledged_action
>     redirect_to :action => "vip_room"
>   end
>
> protected
>   def authenticate
>     if params[:password] != "pass"
>       render :status => 403,  :text => "Access denied"
>       # Things I have tried to end execution here:
>       # 'return' does end execution as simply returns filter
>       # 'exit' causes crash
>       # I can't think of a way to use catch/throw
>     end
>   end
> end
>
> Can anyone please advise?
> --
> Posted viahttp://www.ruby-forum.com/.
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups "Ruby 
on Rails: Talk" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to 
[email protected]
For more options, visit this group at 
http://groups.google.com/group/rubyonrails-talk?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to