2014-02-26 26 views
0

有没有办法在jQuery append方法中插入Rails循环而不使用partial?下面是我想要实现的代码:在jQuery append方法中插入Rails [each..do]循环

$('#selector').append('<%=j @stuff.each do |item| %>test<%=j end %>'); 

我知道,我可以把轨道循环到部分并调用append方法的部分 - 代码就可以了(我测试过它) 。但为了我的应用程序的目的,我宁愿不在append方法中调用partial。

+1

你是什么需要追加?一个数组,文本?什么是“测试”? – apneadiving

+0

我试图追加一个轨道循环(“.each”“做”循环)。 “测试”只是让我知道循环迭代的次数。您可以删除文本并查看我的问题中的代码导致错误。另一方面,如果我将所有内容填入局部,然后使用append方法调用局部,则一切正常。 – Vee

+0

应该处理的js应该是什么样子? – apneadiving

回答

1

这是我的理解,js.erb只适用于views文件夹(而不是asset pipeline)。这意味着

如果你加载资产管道外的JS,你为什么不试试这个,你不能把这种ERB代码在资产管道:

#app/views/controller/your_js.js.erb 
<% @stuff.each do |item| %> 
    $('#selector').append('<%=j item %>'); 
<% end %> 
+0

非常感谢,Rich!你的解决方案就像一个魅力。我不知道js.erb是由资产管道处理的(看起来我应该试着了解管道是如何在Rails 4中工作的)。我认为这只是我正在处理的一个语法问题,但看起来并非如此。再次感谢! – Vee

+0

没问题,很高兴帮助!我以前被同样的问题刺痛了 –