Define the requested controller in - ApplicationController

in my ApplicationController I want to do something like this:

  def layout_by_resource
    if user_signed_in? || request.controller == 'ChatRoom'
      "application"
    else
      "unauthorized"
    end
   end

Is request.controller == 'ChatRoom' possible ? I want to use a specific layout based on a controller called by the user.

thank

+3
source share
3 answers

Of course you can just replace request.controller == 'ChatRoom'withparams[:controller] == 'ChatRoom'

Alternative solution:

request.filtered_parameters["controller"] == 'ChatRoom'
+4
source

I think you can do it at the controller level.

def chatroom
  render(:layout => "layouts/application")
end
+1
source

ApplicationController:

layout :layout_by_resource

def layout_by_resource
    if user_signed_in? || params[:controller] == 'chat_room'
      "application"
    else
      "unauthorized"
    end
end
+1

All Articles