作为一种学习工具,我正在构建一个简单的分析应用程序,用于跟踪“客户端应用程序”上的页面访问,将POST请求发送到我的应用程序的服务器,我的应用程序创建一个带有已接收参数的事件。
我正在使用Devise进行身份验证,并且可以访问current_user。如何使用js访问current_user?
我想设置property_2,以便将当前用户的电子邮件发送到服务器。
这是application.js中的Javascript片段:
var blocmetrics = function(title, domain, count, email) {
var _bm_event = {
name: title,
location: domain,
property_1: count,
property_2: email
}
var _bm_request = $.ajax({
url: "http://localhost:3001/events",
method: "post",
data: {event: _bm_event}
})
};
我正在调用application.html.erb中的blocmetrics
函数:
<!DOCTYPE html>
<html>
<head>
<title>Blocmarks</title>
<%= stylesheet_link_tag 'application', media: 'all', 'data-turbolinks-track' => true %>
<%= javascript_include_tag 'application', 'data-turbolinks-track' => true %>
<%= csrf_meta_tags %>
</head>
<body>
<div class="container">
<div class="header">
<div class="nav nav-tabs">
<div class="pull-left nav-left">
<%= link_to "Home", root_path %>
<%= link_to "My Bookmarks", bookmarks_path %>
</div>
<div class="pull-right nav-right">
<% if current_user %>
Hello <span id="user"><%= current_user.name || current_user.email %></span>!
<%= link_to "Sign out", destroy_user_session_path, method: :delete %>
<% else %>
<%= link_to "Sign in", new_user_session_path %>
<%= link_to "Sign up", new_user_registration_path %>
<% end %>
</div>
</div>
</div>
<% if flash[:notice] %>
<div class="alert alert-success">
<button type="button" class="close" data-dismiss="alert">×</button>
<%= flash[:notice] %>
</div>
<% elsif flash[:error] %>
<div class="alert alert-danger">
<button type="button" class="close" data-dismiss="alert">×</button>
<%= flash[:error] %>
</div>
<% elsif flash[:alert] %>
<div class="alert alert-warning">
<button type="button" class="close" data-dismiss="alert">×</button>
<%= flash[:alert] %>
</div>
<% end %>
<%= yield %>
</div>
<script>
$(document).ready(function(){
blocmetrics("page visit", window.location.origin, 1, $("#user").value);
})
</script>
</body>
</html>