2011-09-16 18 views
1

HamlのjavascriptタグでRuby変数をどのようにループしますか?ループする必要がある@reviewsのコレクションがあります。このコレクションをJavaScriptタグ内でどのようにループしますか?Hamlのjavascriptタグでルビ変数をどのようにループしますか?

- content_for :javascript do 

     = javascript_include_tag "jquery.expander" 
     :javascript 
     - @reviews.each do |review| 
     $("#share#{review.id}").live('click', function() { 
      FB.ui(
       { 
       method: 'feed', 
       name: '#{@product.name}', 
       link: '#{@product.page_url(@locale)}', 
       picture: '#{@product.image_url(@locale)}', 
       caption: 'Dell Social Shop', 
       description: '#{@product.description}' 
       }, 
       function(response) { 
       if (response && response.post_id) { 
        alert('Post was published.'); 
       } else { 
        alert('Post was not published.'); 
       } 
       } 
      ); 
      });} 
+0

http://stackoverflow.com/questions/2962119/is-there-a-way-to-use-a- ruby-loop-inside-of-hamls-javascript-region –

答えて

1

= javascript_include_tag "jquey.expander"ブロックの外側- @reviews.each do |review|部分を入れてみてください、代わりにその内部。現在座っている場所は、Rubyの代わりにjavacriptとして解釈されている可能性があります。これは、:javascript行の下にインデントされているためです。

1

私は、JavascriptコードでErbテンプレートがHamlテンプレートよりも優れていることがわかりました。だから私は、ループ本体を.erbの部分に抽出して何かをしたいと思っています。

関連する問題