Я устанавливаю Kissmetrics в моем приложении rails, сохраняя события в переменной сеанса, а затем передавая их в javascript-код kissmetrics на следующей странице. Этот метод отлично работает, за исключением попыток отслеживания создания учетных записей. Похоже, что когда я храню созданное в аккаунте событие в своей переменной сеанса, он работает нормально, но к тому времени, когда загружается следующая страница, переменная сеанса ушла. Я поставил там отладчик, чтобы попытаться найти, где он удаляется, но кажется, что ничего нет. km_log_event - это метод, который хранит строку в переменной сеанса, называемой km_events. Вот мой код:Сессия переменной сбрасывается - не знаю, где это происходит
accounts_controller/создать ->
...
if @account.save
log_event("Account", "Created", @account.name)
km_log_event("Account Created")
redirect_to(welcome_url(:subdomain => @account.subdomain))
@user.activate!
@user.add_connection(params[:connect_to])
else
render(:action => 'new', :layout => 'signup')
end
...
sessions_controller/прием ->
def welcome
if current_account.new?
# Create the session for the owner, the account is brand new
current_account.user_sessions.create(current_account.owner, true)
elsif current_account.users.last && current_account.users.last.created_at > 1.hour.ago
current_account.user_sessions.create(current_account.users.last, true)
end
redirect_to embedded_invitations_path
end
Я просто не знаю, где он становится удален, так что я не могу запишите это событие. Кажется, что это происходит после @ account.save в контроллере учетных записей, но до приветственного действия.
UPDATE:
здесь модуль счета, где я верю (это не моя кодовая) current_account получает определен.
module Accounts
def self.included(controller)
controller.helper_method :current_account
end
protected
def current_account
return @current_account if defined?(@current_account)
@current_account = Account.find_by_subdomain!(current_subdomain)
end
end
У вас отключено cookies? – bdon