【问题标题】:active admin render edit page活动管理员呈现编辑页面
【发布时间】:2011-10-25 11:29:00
【问题描述】:

我可以轻松地重定向,但我想在验证失败时渲染编辑页面,因此我将所有验证方法转移到表单中。我不确定如何使用 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

【问题讨论】:

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


    【解决方案1】:

    你试过了吗?

    render active_admin_template('edit.html.arb'), :layout => false
    

    【讨论】:

    • 这解决了布局嵌套问题,但无论如何它是否可以突出显示未通过验证的字段?以正常方式编辑会?目前我正在通过 flash 方法传递它们:“{:photos=>["没有足够的条目"], :blurb=>["您的消息必须至少有 50 个字。"]}"
    • 不确定,抱歉。但我可能也需要为我当前的项目解决这个问题。
    • 此方法在较新的版本中不存在 - 请参阅 stackoverflow.com/questions/6653093/… 以获取替代解决方案
    【解决方案2】:

    我遇到了类似的问题,但我重写了创建控制器并希望所有活动的管理员都能够呈现错误消息。所以这就是我所做的

    controller do
     layout 'active_admin',  :only => [:create,:my_collection_method,:my_member_method]
    
     def create
     //my code here
     end
    end
    

    所以基本上,我在我的控制器部分添加了“布局“active_admin””行,并添加了我所有的自定义方法。所以 'my_collection_method' 是活动 amdin 资源中的自定义收集操作,类似于

    :my_collection_action, :method=>:get do
    //my code here
    end
    

    你可以试试类似的东西

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-11-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-02-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多