2012-03-12 4 views
2

Я создал пользовательское действие в RailsAdmin, используя https://github.com/sferik/rails_admin/wiki/Custom-action, но я не уверен, где бы я поместил свои методы контроллера в пользовательское действие, и если я использую форму, каков будет путь для вызова этих методов контроллера?Где методы контроллера для пользовательских действий rails_admin?

ответ

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.

+0

Я создал глобальное действие на корневом уровне, которое является поиском на сайте с использованием солнечного пятна и надеялось избежать некоторого кода спагетти. Я не знал, как применить свой пример к пользовательскому действию на уровне root, но это было очень удобно для пользовательских действий модели. Я также разместил нить в Google Groups, и Benoit также упомянул, что я могу иметь только блок, оцененный в действии контроллера. Спасибо, Стеф! https://groups.google.com/d/topic/rails_admin/SWzKt3y2CCI/discussion – Walksalong

+0

Я не знаю, поможет ли это, но мой коллега просто написал о создании настраиваемого действия Rails как части основного приложения Rails (а не как драгоценный камень): http://blog.endpoint.com/2012/03/railsadmin-custom-action-case-study.html –

+0

Спасибо. Я преследовал вас, ребята, в Endpoint, и это было большой помощью. RailsAdmin пока замечательный, но я надеюсь, что будущие версии упростят этот процесс. – Walksalong

Смежные вопросы