我一直在使用Rails Admin,我想在模型的创建和更新操作之后自定义重定向。
我创建了一个新的插件,我在后端设置了它。我可以单击选项卡,它会将我带到视图页面。我想要做的是重写编辑并创建操作以在保存/更新后重定向到此页面。
我在谷歌搜索过,但出于某种原因,我尝试的一切都行不通。任何见解都会受到欢迎。
谢谢。
=====
之后我正在尝试重定向到裁剪页面。我不确定我会把代码放在哪里。我把它放到下面的RailsAdminCrop模块中吗?如果是这样,怎么样?文档没有提到这一点。
配置:
require 'rails_admin/config/actions'
require 'rails_admin/config/actions/base'
require "rails_admin_crop/engine"
module RailsAdminCrop
end
module RailsAdmin
module Config
module Actions
class Crop < RailsAdmin::Config::Actions::Base
register_instance_option :member do
true
end
register_instance_option :link_icon do
'icon-th-large'
end
register_instance_option :controller do
Proc.new do
flash.now[:notice] = ": #{@object.title}."
end
end
end
end
end
end
或者通过将块传递给编辑操作将其放入rails_admin.rb初始化程序中?如果是这样,我会采用什么配置?
module RailsAdmin
module Config
module Actions
class Crop < RailsAdmin::Config::Actions::Base
RailsAdmin::Config::Actions.register(self)
end
end
end
end
config.actions do
dashboard
index
new
crop
show
edit
delete
end
rake路线后(这是默认路线):
Routes for RailsAdmin::Engine:
dashboard GET / rails_admin/main#dashboard
index GET|POST /:model_name(.:format) rails_admin/main#index
new GET|POST /:model_name/new(.:format) rails_admin/main#new
export GET|POST /:model_name/export(.:format) rails_admin/main#export
bulk_delete POST|DELETE /:model_name/bulk_delete(.:format) rails_admin/main#bulk_delete
history_index GET /:model_name/history(.:format) rails_admin/main#history_index
bulk_action POST /:model_name/bulk_action(.:format) rails_admin/main#bulk_action
show GET /:model_name/:id(.:format) rails_admin/main#show
edit GET|PUT /:model_name/:id/edit(.:format) rails_admin/main#edit
delete GET|DELETE /:model_name/:id/delete(.:format) rails_admin/main#delete
history_show GET /:model_name/:id/history(.:format) rails_admin/main#history_show
show_in_app GET /:model_name/:id/show_in_app(.:format) rails_admin/main#show_in_app
答案 0 :(得分:0)
我不相信你可以通过配置来做到这一点,你需要扩展插件。此外,您只能使用一个redirect_to或每个操作渲染,因此您需要将操作分配给变量,然后在最后调用它。
register_instance_option :controller do
Proc.new do
flash.now[:notice] = ": #{@object.title}."
if request.post? || request.put?
some_action = "do_something"
else
some_action = @action.template_name
end
render :action => some_action
end
end