> Well put in some debug and prove it one way or the other.

Then:

application_controller:

before_filter :set_layout, :authenticate_user!  #(authenticate_user is
from devise gem)

def set_layout
    if params[:current_layout] == "intraOp"
      session[:current_layout] = :intra
    elsif params[:current_layout] == "interOp"
      session[:current_layout] = :inter
    else        
      session[:current_layout] = nil
    end
    @current_layout = session[:current_layout]
  end
end

companies_controller:

skip_filter :authenticate_user!, :only => [:index, :show], :unless =>
lambda {@current_layout.nil?}

def index
  debugger
  .... .
  ....
end

rails s --debugger

(rdb:2) instance_variables
[:@_params, :@_response_body, :@_response, :@_action_name,
:@_action_has_layout, :@_env, :@current_layout, :@_request, :@_config,
:@_lookup_context, :@_prefixes, :@_headers, :@_routes, :@_status]

(rdb:2) @current_layout
nil

@current_layout is nil but authenticate_user! in companies_controller
is skipped despite :unless => lambda {@current_layout.nil?}

-- 
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 rubyonrails-talk@googlegroups.com.
To unsubscribe from this group, send email to 
rubyonrails-talk+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/rubyonrails-talk?hl=en.

Reply via email to