[英]custom actions inside rails_admin gem
我不太了解它是如何工作的rails_admin gem用於創建一個新的動作。
我想在rails_admin root中創建一個名稱平衡的操作。
我在myapp / lib文件夾中創建了一個名為rails_admin_balance.rb的文件,如:
require 'rails_admin/config/actions'
require 'rails_admin/config/actions/base'
module RailsAdminBalance
end
module RailsAdmin
module Config
module Actions
class Balance < RailsAdmin::Config::Actions::Base
RailsAdmin::Config::Actions.register(self)
register_instance_option :object_level do
true
end
register_instance_option :link_icon do
'icon-eye-open'
end
register_instance_option :root? do
true
end
end
end
end
end
我在/views/rails_admin/main/balance.html.erb上創建了一個新文件
在我的rails_admin.rb
文件里面
config.actions do
dashboard # mandatory
# collection actions
index # mandatory
new
export
history_index
bulk_delete
# member actions
show
edit
delete
history_show
show_in_app
balance
end
當我嘗試運行rails服務器時,我收到此錯誤:
退出
/home/ubuntu/Desktop/myapp/config/initializers/rails_admin.rb:33:in `block (2 levels) in <top (required)>': undefined method `balance' for RailsAdmin::Config::Actions:Module (NoMethodError)....
我哪里有錯誤?
我做得不好?
非常感謝你!
我有完全相同的問題。 我認為這是因為/ lib下的rails_admin_[my_action].rb
文件沒有被加載,這在rails_admin文檔中沒有記錄。
您可以嘗試從rails_admin.rb or just move all the code you have on
加載它, rails_admin.rb or just move all the code you have on
rails_admin_ [my_action] .rb rails_admin.rb or just move all the code you have on
to the
rails_admin.rb`初始化程序(將其粘貼到文件的開頭)。
有第三個選項(只有當你不想重復使用這個動作時),IMHO看起來更清潔:
擺脫rails_admin_[my_action].rb
(你的rails_admin_balance.rb
)並在rails_admin.rb
重寫你的動作,如下所示:
config.actions do
dashboard # mandatory
# collection actions
index # mandatory
new
export
history_index
bulk_delete
# member actions
show
edit
delete
history_show
show_in_app
member :balance do
link_icon 'icon-eye-open'
root? true
end
end
只需在rails_admin.rb上添加它即可
module RailsAdmin
module Config
module Actions
class Balance < RailsAdmin::Config::Actions::Base
RailsAdmin::Config::Actions.register(self)
end
end
end
end
在RailsAdmin作用域上打開Actions模塊可以避免此特定錯誤。 您的定義可以保留在lib上的Balance模塊中。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.