Отсутствует ли before_filter
?Похоже, вы вообще не вызываете метод current_user
(который читает сеанс).Я вижу два способа исправить это:
Либо используйте before_filter
: вверху вашей EventsController
записи
class EventsController < ApplicationController
before_filter :current_user
def index
@events = Event.all
@current_user= User.current
logger.debug "The current user is "+@current_user.name # This fails . Says the class in nil
respond_to do |format|
format.html # index.html.erb
format.xml { render :xml => @events }
end
end
end
, либо вы измените свой index
-код какследует:
def index
@events = Event.all
@current_user= current_user
logger.debug "The current user is "+@current_user.name # This fails . Says the class in nil
respond_to do |format|
format.html # index.html.erb
format.xml { render :xml => @events }
end
end
Обратите внимание, что если вы используете API, используете rest / soap, сеанса нет и вам придется возвращать информацию (например, xml или json), которую затем можно передатьвместе в следующем вызове.