如何使用mixpanel与twitter bootstrap下拉菜单?

时间:2012-08-14 02:50:18

标签: ruby-on-rails twitter-bootstrap mixpanel

我的代码如下所示:

<div class="navbar">
  <div class="navbar-inner">
    <div class="container">
      <ul class="nav pull-right">
        <% if user_signed_in? %>
        <li class="dropdown" id="menu7">
           <a class="dropdown-toggle" id="username" data-toggle="dropdown" href="#">
             <%= current_user.full_name %>
             <b class="caret"></b>
           </a>
          <ul class="dropdown-menu">
            <li><%= link_to('Edit my account', edit_user_registration_path, 
                  :id => 'edit_account') %></li>
            <li><%= link_to('Logout', destroy_user_session_path, :method => 'delete',
                  :id => 'logout_link') %></li>
          </ul>
        </li>
        <% else %>
          <li><%= link_to('Login', new_user_session_path, :id => 'login_link') %></li>
          <li><%= link_to('Sign up', new_user_registration_path, :id => 'signup_link') %></li>
        <% end %>
     </ul>
  </div>
</div>

我的javascript事件就是:

  mixpanel.track_links('#username', 'Username clicked')
  mixpanel.track_links('#edit_account', 'Edit account link clicked')
  mixpanel.track_links('#logout_link', 'Logout link clicked')

我不知道为什么(我真的很奇怪!)只有活动&#39;用户名点击了#39;工作中。有没有人经历类似的事情?

1 个答案:

答案 0 :(得分:0)

一种可能性是您需要在选择器中包含链接标记:

  mixpanel.track_links('#username a', 'Username clicked')
  mixpanel.track_links('#edit_account a', 'Edit account link clicked')
  mixpanel.track_links('#logout_link a', 'Logout link clicked')

这就是在Mixpanel doc中完成的。

另一种选择是你可能会以错误的方式解决这个问题。您可能希望使用ruby API并将跟踪器放在控制器中,而不是跟踪链接上的点击,如this part of the doc所示。

因此,您可以在Users控制器中执行以下操作:

def edit
  track_event "edits account"
end

在会话记录中:

def destroy
  track event "logs out"
end