2
我在RailsAdmin中使用https://github.com/sferik/rails_admin/wiki/Custom-action創建了一個自定義動作,但是我不確定將自己的控制器方法放在自定義動作中的位置,以及如果我使用表單,那麼將調用這些控制器方法的路徑是什麼?rails_admin自定義操作的控制器方法在哪裏去?
我在RailsAdmin中使用https://github.com/sferik/rails_admin/wiki/Custom-action創建了一個自定義動作,但是我不確定將自己的控制器方法放在自定義動作中的位置,以及如果我使用表單,那麼將調用這些控制器方法的路徑是什麼?rails_admin自定義操作的控制器方法在哪裏去?
下面是我使用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的自定義操作的另一個示例。
我在根級別創建了一個全局操作,這是一個使用太陽黑子的站點搜索,希望避免一些意大利麪代碼。我不知道如何將您的示例應用到根級自定義操作,但對於模型自定義操作非常方便。我還在Google Groups和Benoit上發佈了一個帖子,也提到我只能在控制器操作中評估一個塊。感謝Steph! https://groups.google.com/d/topic/rails_admin/SwzKt3y2CCI/discussion – Walksalong 2012-03-16 19:40:47
我不知道這是否會有所幫助,但我的一位同事剛剛寫了關於創建自定義Rails操作作爲主要Rails應用程序的一部分(不是寶石):http://blog.endpoint.com/2012/03/railsadmin-custom-action-case-study.html – 2012-03-18 22:52:46
謝謝。我一直在Endpoint上跟蹤你們,並且給予了很大的幫助。到目前爲止RailsAdmin已經很棒了,但是我希望未來的版本能夠使這個過程更加簡單。 – Walksalong 2012-03-30 19:38:34