想要使用活动管理员在显示屏幕中添加指向另一个控制器的方法的链接

时间:2012-08-15 22:01:50

标签: ruby-on-rails activeadmin

在我的主动管理应用程序中,我有2个型号,每个例子:车辆和前部。(前面有很多车辆)

在前面的:show视图中,它列出了属于它的所有车辆。对于它列出的每个车辆,它有一个“删除”链接,从该前方删除相应的车辆。这是我的代码的样子:

ActiveAdmin.register Front do
    show do
      panel "Vehicles in this Front" do
        table_for(front.vehicles) do |vehicle|
          vehicle.column("id") {|vehicle| auto_link frente.vehicles}
          vehicle.column("category") {|vehicle| vehicle.descricao}
          vehicle.column("status") {|vehicle| vehicle.status}
          vehicle.column {link_to "Remove" , remove_admin_vehicle_path(vehicle.id), :method => :post}
        end
      end

来自Vehicle的Remove方法:

member_action :remove , :method => :post do
  vehicle = Vehicle.find(params[:id])
  vehicle.front = null
  vehicle.save!
  flash[:notice] = "vehicle removed"
  redirect_to :action => :show  
end

但是当我点击删除链接时,出现错误:它没有从车辆发送id。如何从车辆发送身份证?

1 个答案:

答案 0 :(得分:0)

使用删除方法和销毁操作,这是正确的方法。
所以..
尝试使用

vehicle.column {link_to "Remove" , remove_admin_vehicle_path(vehicle), :method => :post}

并显示rake routes结果。