2012-08-15 62 views
0

在我的活性管理應用我有2種模式,以將鏈接添加到在節目畫面另一個控制器的方法,按照實施例:車輛和前(前有許多車輛)想要使用主動管理

在。:顯示Front的視圖,它列出屬於它的所有車輛。對於它列出的每輛車,它都有一個「刪除」的鏈接,將相應的車輛從該前線移除。下面是我的代碼如下所示:

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 

而且從車輛刪除方法:

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。我怎樣才能從車輛發送ID?

回答

0

使用刪除方法並銷燬操作,這是正確的方法。
所以..
嘗試使用

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

而且顯示rake routes結果。

+0

我試過這種方式,但它仍然發送Front ID而不是車輛ID ...路線是:/ admin/vehicle/id/remove POST 我認爲問題出現在路線中,但我不知道如何解決它。 – 2012-08-17 16:30:58

+0

hm,嘗試爲您的方法的1行使用'render text:params.inspect'。你會看到你的身份證號碼,以及你如何接受它。 – achempion 2012-08-17 23:27:59