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
-~----------~----~----~----~------~----~------~--~---