Я использую импрессионистский камень для записи просмотров страниц.
Скажем, у меня есть модель Вопрос и ответ модель:RoR Импрессионизм захвата внешнего клика
question.rb:
class Question< ActiveRecord::Base
has_many :answers
is_impressionable
answer.rb:
class Answer< ActiveRecord::Base
belongs_to :question
is_impressionable
В вопросах \ show.html.erb, У меня есть список ответов.
Когда пользователь наводится на ответ, они видят 2 ссылки: подробности и переход.
Детали ссылки только открывает ответ показать страницу (которая содержит более подробную информацию) и записывает шоу впечатление и работает правильно:
answers_controller.rb:
impressionist(@answer)
ОХ странице Tricker. Когда пользователь нажимает на ссылку:
<%= 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 %>
, я запускаю следующий JQuery фрагмент кода:
$('.answer_link').click (->
url_val=''
url_val = "http://api.somewebservice.com/api/click?key=abc123"
url_val += "&out=" + $(this).data('outval')
url_val += "&loc=" + $(this).data('refval')
url_val += "&cuid=" + $(this).data('cuid')
url_val += "&ref=" + $(this).data('refval')
url_val += "&txt=" + $(this).data('txtval')
window.open url_val
)
Это работает правильно и работает веб-сервиса, а затем открывает возвращаемый внешнюю ссылку в новом окне.
Моя проблема заключается в том, чтобы зафиксировать этот внешний клик как впечатление.
Каков наилучший способ сделать это? В настоящее время, когда я нажимаю внешнюю ссылку, запускается контролер вопросов.
Конкретный вопрос # 1: Это «кажется» правильным в том, что я не хочу никуда идти (другое окно уже открыто с внешней ссылкой). Правильно ли использовать контроллер вопросов, показать действие, а если params [: id] == «Перейти», то просто оставайтесь на месте.
Конкретный вопрос № 2: Если это правильно, то есть способ, чтобы отправить импрессионист в: action_name (я послал бы «перейти к» вместо значения по умолчанию, что теперь отправка «шоу»:
? Конкретный вопрос № 3: Если это не правильно, то что я должен делать Возможно, идя на контроллер ответов, на заказ определяются «go_to»
ТИА