Ruby On Rails:如何使用js.haml在循环内部渲染部分?

时间:2013-08-13 08:50:21

标签: javascript ruby-on-rails ruby haml

我正在尝试为哈希数组中的每个对象渲染一个部分:

我的控制器:

@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 = []而不是哈希..

如何在ruby循环中渲染部分?

1 个答案:

答案 0 :(得分:0)

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

render 'objects/not_active', obj: obj

不确定这只是轨道4。