Ruby on rails RoR印象派捕捉外部点击

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.

我用印象派的gem来记录页面浏览量。 假设我有一个问题模型和一个答案模型:

问题.rb:

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 %>