我可以很容易地重定向但是我想在验证失败的情况下渲染编辑页面,所以我将所有验证方法都转移到表单中。我不确定如何使用active_admin呈现编辑操作。
如果我尝试render :action => 'edit'
,我会看到一个缺少模板的页面
我还尝试了render active_admin_template('edit.html.arb')
,它在页面中提供了一个页面,但没有错误。
有什么想法吗?
member_action :state do
space = Space.find(params[:id])
if space.send(params[:state])
#space.send(params[:state]+"!")
flash[:notice] = "State Changed!"
redirect_to :action => :index
else
#render :action => 'edit'
#render active_admin_template('edit.html.arb')
flash[:error] = "#{space.errors}"
redirect_to :action => :edit
end
end
答案 0 :(得分:5)
你试过这个吗?
render active_admin_template('edit.html.arb'), :layout => false
答案 1 :(得分:3)
我有一个类似的问题,但我覆盖了创建控制器,并希望所有活动的管理员上帝用于渲染错误信息。所以这就是我做的事情
controller do
layout 'active_admin', :only => [:create,:my_collection_method,:my_member_method]
def create
//my code here
end
end
基本上,我在控制器部分添加了'layout“active_admin”'行,并添加了所有自定义方法。所以'my_collection_method'是活动amdin资源中的自定义集合操作,类似于
:my_collection_action, :method=>:get do
//my code here
end
你可以尝试类似的东西