Javascript Rails:跟踪RubyonRails应用程序中的每个链接
我目前的要求是,每当单击应用程序中的任何对象时,都要在Postgres DB中创建一条记录。这是一个有数百个链接和页面的大型项目。如果用户单击一个锚、一个可单击的div或一个按钮,我想在数据库中创建一个记录 电话号码如下:Javascript Rails:跟踪RubyonRails应用程序中的每个链接,javascript,ruby-on-rails,ruby,rails-activerecord,Javascript,Ruby On Rails,Ruby,Rails Activerecord,我目前的要求是,每当单击应用程序中的任何对象时,都要在Postgres DB中创建一条记录。这是一个有数百个链接和页面的大型项目。如果用户单击一个锚、一个可单击的div或一个按钮,我想在数据库中创建一个记录 电话号码如下: AppEvent.record_event(event_type: 'example', url: request.fullpath, user: current_user.name) 我现在使用它来跟踪页面转换,但是如何使用该功能跟踪对div或锚点的单击?有可能在某种程度
AppEvent.record_event(event_type: 'example', url: request.fullpath, user: current_user.name)
我现在使用它来跟踪页面转换,但是如何使用该功能跟踪对div或锚点的单击?有可能在某种程度上使用JS吗?看,如果你不想使用这个gem,你可以使用Rails分析,然后你创建这个简单的定义一个方法,首先我认为你的跟踪表是app\u events
然后你的模型是AppEvent
,然后你的模型看起来像这个关系
#=> user.rb
class User < ApplicationRecord
.....
has_many :app_events
....
end
#=> app_event.rb
class AppEvent < ApplicationRecord
.....
belongs_to :users
....
end
你的链接是这样的
root_path(event_type: 'home', url: request.fullpath)
about_path(event_type: 'about', url: request.fullpath)
news_path(event_type: 'news', url: request.fullpath)
...
看看这是如何在客户端完成的。您可以在rails应用程序上创建一个虚拟“页面”(API端点),用于记录request.query或body中的信息。为click event添加事件侦听器,以将有关单击的信息发布到此API端点。控制器将读取主体并创建记录。这正是我所需要的。谢谢
root_path(event_type: 'home', url: request.fullpath)
about_path(event_type: 'about', url: request.fullpath)
news_path(event_type: 'news', url: request.fullpath)
...