RubyonRails:如何使用js.haml在循环中呈现分部

Ruby On Rails: how can I render a partial inside a loop using js.haml?

本文关键字:循环 何使用 js haml RubyonRails      更新时间:2023-09-26

我试图为哈希数组中的每个对象呈现一个分部:

我的控制器:

@active, @not_active = @objects.partition{ |obj| obj['active'] == 'true' }

我的js.haml文件:

# this code works
- @active.each do |obj|
  $('#' + "#{obj['id']}").remove(); # remove row
# this code doesn't work
- @not_active.each do |obj|
  -p obj # prints the object
  $('#' + "#{obj['id']}").html("#{escape_javascript(render :partial => 'objects/not_active', :locals => {:obj => obj})}");

此代码应该重新绘制表中的一些现有行。但是在分部中,我得到的是obj=[],而不是hash。。

否则,我如何在ruby循环中渲染分部?

有一种更简洁的方法可以渲染部分并将数据传递给它:

render 'objects/not_active', obj: obj

不确定这是否只是轨道4。