0

私のアクティブな管理アプリでは、例ごとに 2 つのモデルがあります: Vehicle と Front.(Front には多くの Vehicle があります)

戦線の :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

そして、車両からの削除メソッド:

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 を送信するにはどうすればよいですか?

4

1 に答える 1

0

delete メソッドと destroy アクションを使用するのが正しい方法です。
そう..
使用してみてください

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

そしてrake routes結果を表示します。

于 2012-08-15T22:42:05.217 に答える