rails_admin自定义操作的控制器方法在哪里?

时间:2012-03-12 14:22:53

标签: ruby-on-rails rails-admin

我使用https://github.com/sferik/rails_admin/wiki/Custom-action在RailsAdmin中创建了一个自定义操作,但我不确定将控制器方法放在自定义操作中的哪个位置,如果我使用表单调用这些控制器方法的路径是什么?

1 个答案:

答案 0 :(得分:4)

以下是我用于pdf(项目here)的自定义操作示例:

require "rails_admin_pdf/engine"

module RailsAdminPdf
end

require 'rails_admin/config/actions'

module RailsAdmin
  module Config
    module Actions
      class Pdf < Base
        RailsAdmin::Config::Actions.register(self)

        register_instance_option :member do
          true
        end

        register_instance_option :controller do
          Proc.new do
            report = "#{@object.class.to_s.demodulize}Report".constantize.new
            send_data report.to_pdf(@object), :filename => "#{@object.class.to_s.demodulize}_#{@object.id}.pdf", :type => "application/pdf"  
          end
        end
      end
    end
  end
end

因此,为了回答您的问题,控制器方法进入lib / rails_admin_ * custom_action_name * .rb模块。我不确定我理解关于表单提交的问题的第二部分。您可以查看表单提交here的自定义操作的另一个示例。