6

簡単にリダイレクトできますが、検証が失敗したときに編集ページをレンダリングしたいので、すべての検証メソッドをフォームに引き継ぎます。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
4

2 に答える 2

5

これを試しましたか?

render active_admin_template('edit.html.arb'), :layout => false
于 2011-10-26T20:15:19.113 に答える
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

同様のことを試すことができます

于 2012-07-30T11:47:33.163 に答える