Ruby on rails RoR印象派捕捉外部点击
我用印象派的gem来记录页面浏览量。 假设我有一个问题模型和一个答案模型: 问题.rb:Ruby on rails RoR印象派捕捉外部点击,ruby-on-rails,ruby-on-rails-3,web-services,hyperlink,impressions,Ruby On Rails,Ruby On Rails 3,Web Services,Hyperlink,Impressions,我用印象派的gem来记录页面浏览量。 假设我有一个问题模型和一个答案模型: 问题.rb: class Question< ActiveRecord::Base has_many :answers is_impressionable “转到”页面是个骗子。当用户单击链接时: <%= link_to "Go to", :class => 'answer_link', :remote=>:true, :data=>{outval: answer.
class Question< ActiveRecord::Base
has_many :answers
is_impressionable
“转到”页面是个骗子。当用户单击链接时:
<%= link_to "Go to", :class => 'answer_link', :remote=>:true,
:data=>{outval: answer.type_url, cuid: answer.id.to_s, refval: user_question_path(@question.user, @question), txtval: answer.img_url} do %>
<span class="small_image">
<%= image_tag(answer.img_url, :alt => 'go to answer', :class =>'img_answer') %>
</span>
<% end %>
这将正常工作并运行web服务,然后在新窗口中打开返回的外部链接。
我的问题是试图捕捉这种外部点击作为印象。
最好的方法是什么?
当前,当我单击外部链接时,问题控制器显示操作运行。
具体问题1:这似乎是正确的,因为我不想去任何其他已经打开外部链接的窗口。使用问题控制器、显示操作是否正确,如果参数[:id]==转到,则保持不变。
具体问题2:如果这是正确的,那么有没有一种方法可以发送给印象派一个:action_name,我会发送go to,而不是现在发送给show的默认名称:
具体问题3:如果不正确,我应该怎么做?可能要转到“答案”控制器,转到自定义的go__to
TIA好的-我有一个解决方案,不确定它是否是最好的,但它是有效的 上面的question.rb和answer.rb保持不变 为了计算answer show.html.erb页面的印象,我仍然在answer\u控制器中使用:
impressionist(@answer)
为了计算从answer重定向时的印象,我在answer_控制器中创建了一个新的def:
def visit_external_site
@answer= Answer.find(params[:answer_id])
impressionist(@answer)
respond_to do |format|
format.html {render :nothing => true, :status => 200}
end
end
我不确定的部分是format.html,我不想去任何地方,但仍然
My routes.rb有以下功能:
match '/:answer_id' => 'answers#visit_external_site', :as => 'visit_external_site'
questions\show.html.erb页面现在有以下内容:
我的jQuery仍然与上面一样
如果有人有更好的方法,一定要告诉别人;我不确定这种方式是否符合犹太教
impressionist(@answer)
def visit_external_site
@answer= Answer.find(params[:answer_id])
impressionist(@answer)
respond_to do |format|
format.html {render :nothing => true, :status => 200}
end
end
match '/:answer_id' => 'answers#visit_external_site', :as => 'visit_external_site'
<% @question.answers.each do |answer| %>
<%= link_to url_for(:controller => :answers, :action => :visit_external_site, :answer_id => answer),
:class => 'answer_link', :remote => true,
:data => {outval:
answer.type_url, cuid: answer.id.to_s, refval:
user_question_path(@question.user, @question), txtval:
answer.img_url} do %>
<span class="small_image">
<%= image_tag(answer.img_url, :alt => 'go to answer', :class => 'img_answer') %>
</span>
<% end %>
<% end %>