如何循环使用Haml javascript标记中的ruby变量?
如何循环使用Haml javascript标记中的ruby变量?我有一个@reviews的集合需要循环浏览。如何在javascript标记中循环遍历此集合如何循环使用Haml javascript标记中的ruby变量?,javascript,ruby,loops,haml,Javascript,Ruby,Loops,Haml,如何循环使用Haml javascript标记中的ruby变量?我有一个@reviews的集合需要循环浏览。如何在javascript标记中循环遍历此集合 - content_for :javascript do = javascript_include_tag "jquery.expander" :javascript - @reviews.each do |review| $("#share#{review.id}").li
- 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.');
}
}
);
});}
尝试将
-@reviews.each do | review |
部分放在=javascript_include_标记“jquey.expander”
块的外部,而不是内部。现在,它可能被解释为javascript而不是Ruby,因为它缩进在:javascript
行下。我发现对于javascript代码,Erb模板比Haml模板更有效。所以我将循环体提取到一个.erb部分,并执行如下操作
= javascript_include_tag "jquery.expander"
= javascript_tag render(:partial => 'review.js.erb', :collection => @reviews)