如何返回块或unificate表呈现(activeadmin)

时间:2016-05-25 17:01:25

标签: ruby-on-rails ruby activeadmin

我有一些不同的活动记录集。每个记录集都使用相同的代码进行渲染。

原始代码如下所示:

columns do
  column do
    panel "Panel" do
      table_for Record.where( ... ) do
        column("id")    {|r| r.id }
        column("field") {|r| r.field }
      end
    end
  end
end

我其实想要这样的事情:

# (wrong code) (EDIT: actually work fine - it is not wrong)

def render_table(records)
  table_for records do
    column("id")    {|r| r.id }
    column("field") {|r| r.field }
  end
end

panel "Panel" { render_table Record.where( ... ) }

同样如此:

# ( wrong code )

def render_table_fields
  render lambda do
    column("id")    {|r| r.id }
    column("field") {|r| r.field }
  end
end

panel "Panel" do
  table_for Record.where( ... ) { render_table_fields.call }
end

如何重构以提取表格渲染代码?

如何从函数返回块或lambda并将其作为块传递给另一个函数?

0 个答案:

没有答案