さて、私はサイトのために取得する必要があるキャンペーンjavascriptを持っています。サイトはSSLの下にあり、キャンペーンはそうではないため、ブラウザはリクエストをブロックします
したがって、回避するために、application_controllerを介してリクエストを実行しています
before_filter :get_campaign
def get_campaign
uri = URI.parse("http://us1.campaign-archive1.com/generate-js/?u=2f77d2f8c77398c0b064223ba&fid=1&show=3")
begin
@campaign = Net::HTTP.get_response(uri).body
end
end
とビューで私はします
%script{:language => "javascript", :type => "text/javascript"}
= @campaign.try(:html_safe)
これ@campaign
はdocument.write文字列であるためです...しかし、何らかの理由で書き込みが行われていません....何かが足りないのでしょうか、それともこれを実現するためのより良い方法がありますか
アップデート
Chromeでコンソールを見た後、私はこのエラーを見るUncaught SyntaxError: Unexpected token <
これが私の生成されたコードです
<script language='javascript' type='text/javascript'>
document.write("<div class=\"display_archive\"><div class=\"campaign\">08\/29\/2012 - <a href=\"http:\/\/us1.campaign-archive1.com\/?u=2f77d2f8c77398c0b064223ba&id=4c4d33ed6f\" title=\"Ten Fun Facts and Figures from Gen Con Indy 2012\" target=\"_blank\">Ten Fun Facts and Figures from Gen Con Indy 2012<\/a><\/div><\/div>");
<br>
<div class='display_archive'></div>
<div class='campaign'>
Select
<a href='http://eepurl.com/jkmGT' target='_blank'>HERE</a>
to sign up for our newsletter!
</div>
</script>