ページビューを記録するために印象派の宝石を使用しています。
質問モデルと回答モデルがあるとしましょう。
question.rb:
class Question< ActiveRecord::Base
has_many :answers
is_impressionable
answer.rb:
class Answer< ActiveRecord::Base
belongs_to :question
is_impressionable
questions \ show.html.erbに、回答のリストがあります。
ユーザーが回答にカーソルを合わせると、2つのリンクが表示されます。詳細とに移動します。
詳細リンクは、回答ショーページ(詳細を提供)を開くだけで、ショーの印象を記録し、正しく機能します。
Answers_controller.rb:
impressionist(@answer)
ページに移動するのは難しいです。ユーザーがリンクをクリックすると、次のようになります。
<%= 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
)
これは正しく機能し、Webサービスを実行してから、返された外部リンクを新しいウィンドウで開きます。
私の問題は、この外部クリックをインプレッションとしてキャプチャしようとしていることです。
これを行うための最良の方法は何ですか?現在、外部リンクである質問コントローラーをクリックすると、アクションが実行されます。
特定の質問#1:これは私がどこにも行きたくないという点で正しいようです(別のウィンドウがすでに外部リンクで開いています)。質問コントローラーを使用してアクションを表示し、params [:id] == "Go to"の場合は、そのままにしておくのは正しいですか。
特定の質問#2:これが正しければ、印象派に:action_nameを送信する方法はありますか(「show」の現在送信されているデフォルトの代わりに「goto」を送信します:
特定の質問#3:それが正しくない場合、私は何をすべきですか?おそらく、Answersコントローラー、カスタム定義の「go_to」に行きますか?
TIA