活动管理员渲染编辑页面

时间:2011-10-25 11:29:01

标签: ruby-on-rails ruby-on-rails-3 validation activeadmin renderaction

我可以很容易地重定向但是我想在验证失败的情况下渲染编辑页面,所以我将所有验证方法都转移到表单中。我不确定如何使用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

2 个答案:

答案 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

你可以尝试类似的东西