Я устанавливаю Kissmetrics в своем приложении rails, сохраняя события в переменной сеанса, а затем передавая их в код JavaScript kissmetrics на следующей странице.Этот метод отлично работает, за исключением попыток отслеживать создание аккаунтов.Кажется, что когда я сохраняю событие создания учетной записи в моей переменной сеанса, оно работает нормально, но к моменту загрузки следующей страницы переменная сеанса исчезает.Я положил туда отладчик, чтобы попытаться найти, где он удаляется, но, похоже, ничего нет.km_log_event - это метод, который сохраняет строку в переменной сеанса km_events.Вот мой код:
account_controller / create ->
...
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
...
session_controller / welcome ->
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 в контроллере учетных записей, но до действия приветствия.
ОБНОВЛЕНИЕ:
вот модуль учетных записей, где я считаю (это не моя кодовая база) 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