如何从另一个类或模型调用活动管理员成员操作

时间:2016-06-01 07:12:40

标签: ruby-on-rails activeadmin

我在其中一个呈现pdf文件的模型上有一个活动的管理员成员操作。我想调用相同的成员操作但不是渲染,我希望将内容保存到文件中。 我知道render_to_string在这里会有所帮助,但我的问题是如何在ActiveAdmin控制器上调用成员操作。这是简化代码

ActiveAdmin.register MyModel do
        member_action :generate_pdf do
        data = get_data
        render :pdf => "generate_pdf", :layout => false, :margin => { top:       0, bottom: 0, left: 0, right: 0 }
        end
    end

1 个答案:

答案 0 :(得分:0)

注意:这不是问题的解决方案,但也许它会帮助其他人。

如果我理解你,你想要同样的动作来显示pdf并下载PDF吗?如果是,您可以使用下载参数/admin/model/1/generate_pdf?download=1

来解决此问题
ActiveAdmin.register MyModel do
  member_action :generate_pdf do
    data = get_data
    response.headers['Content-Disposition'] = 'attachment; filename=somefile.pdf' if params[:download]
    render :pdf => "generate_pdf", :layout => false, :margin => { }
  end
end