ActiveAdmin - 如何在自定义操作中呈现默认模板

dhe*_*nze 6 ruby-on-rails admin

我们在Rails3应用程序中使用ActiveAdmin作为默认模型.现在我们需要覆盖show动作.OrderProcess模型是一个瞬态(无表格)模型,这意味着所有字段都是从其他数据聚合而来的.我们使用一个内部模块,它提供了模拟ActiveAdmin依赖的MetaSearch方法的必要方法.以下是我们如何覆盖show动作:

ActiveAdmin.register OrderProcess do  
  member_action :show, :method => :get do
    @order_process = OrderProcess.all_orders_for_deal(params['id'])
  end
end
Run Code Online (Sandbox Code Playgroud)

这给了我们一个错误抱怨丢失模板"缺少模板管理员/订单_过程/显示..."的错误

我们也试着打电话

  render renderer_for(:show)
Run Code Online (Sandbox Code Playgroud)

但这产生了一个关于缺少方法model_name的错误,这可能是由于我们的模型是无表格和关注模块.

我们如何使用内置渲染方法的ActiveAdmins来显示我们的模型?任何帮助表示赞赏.

jos*_*elo 2

我也有同样的问题 :(

我正在尝试覆盖更新操作并尝试呈现“编辑操作”

member_action :update, :method => :post do
  if params[:user][:password].blank?
    [:password, :password_confirmation, :current_password].collect{|p| params[:user].delete(p) }
  end

  @user = User.find(params[:id])
  respond_to do |format|
    if @user.update_attributes(params[:user])
      format.html { redirect_to([:admin, @user]) }
    else
      format.html { render renderer_for(:edit) }
    end
  end
end
Run Code Online (Sandbox Code Playgroud)