2009-05-07 7 views
0

私のサイトは、ダウ・ジョーンズのオランダ語版に相当するレートを表示するjavascriptを提供しています。ユーザーはウェブサイトにこのスクリプトを埋め込むことができます。Rails:javascriptが埋め込まれているサイトにどのようにログオンできますか?

それは次のようになります。

<script type="text/javascript" src="http://www.aexscript.nl/r/gratis"></script> 

対応するコントローラのアクションは、次のようになります。

def show 
    @script = Script.find_by_code(params[:code]) 
    @rate = Rate.find(:first) 

    respond_to do |format| 
    format.js # show.js.erb 
    end 
end 

私はジャバスクリプトがオンに埋め込まれたサイトのURLを記録したいです。これどうやってするの?

答えて

2

ため

例はあなたのヒットを記録しますデータベーステーブルを作成します。誰かがショーを叩くときはいつでも、それを記録してください。

http://github.com/saizai/hyperdictionaryから類似したコードをリッピングすることができます。four_oh_fourコントローラ、モデル、&の移行を実行します。

他の情報がある場合(たとえば、ログインしているユーザーが何らかの理由でリンクしていることがわかっている場合など)、そのテーブルに外部キーとして簡単に追加できます。そして、あなたは(簡単な例のために私のアプリ/ビュー/ four_oh_fours/index.html.erbを参照)

user.js_hits.find(:all, :select => "name, count(id) as count", :group => 'name') 

ような何かを、シンプルなビューにドロップしたいです。

+0

ありがとう、これは私が探していたものです。どうやら、私のjavascriptが埋め込まれているサイトのURLはrequest.env ['HTTP_REFERER']にあります。 – Mischa

+0

ああ、そうです。それを参照するより良い方法はrequest.refererです(私はまだこのコードをクリーンアップしていません:-P)。 http://api.rubyonrails.org/classes/ActionController/AbstractRequest.html#M000478をご覧ください。 – Sai

2

お客様のウェブサーバーからアクセスログが提供されます。受信したすべてのHTTPリクエストが表示されます。

次に、このファイルの要求に対してgrepを実行できます。 Apache

+0

これは簡単ですか?スクリプトはどのウェブページにも埋め込むことができるので(私にはknowlegdeがありません)、これを記録することは期待していませんでした。私は現時点でウェブサーバとしてMongrelを使用しています。私はproduction.logを見ていきます。ありがとう。 – Mischa

+0

このスクリプトは世界中のどのサーバーからも参照できますが、ドメイン名を参照している場合は、Webサーバーにアクセスする必要があります。つまり、ログオンする必要があります。 –

関連する問題