0

ビュー/車/_form.html.haml

= link_to "Deactivate", "/vehicles/deactivate"

上記の link_to で @vehicle を渡したいです。どうすればいいですか?

controllers/vehicles_controller.rb

  def deactivate
    @vehicle = Vehicle.find(params[:id])
    @vehicle.active = 0
    @vehicle.save

    respond_to do |format|
      format.html { redirect_to vehicles_url }
      format.json { head :no_content }
    end
  end
4

3 に答える 3

3

Rails のように簡単にするために、Rails を使用できますresources

# routes.rb
resources :vehicles do
  put 'deactivate', on: :member
end

# view:
= link_to 'Deactivate', deactivate_vehicle_path(@vehicle), method: :put
于 2013-07-03T19:19:09.443 に答える
0

これは私にとってはうまくいきました。コントローラーで Update アクションを使用することになりました。

= link_to "Deactivate", vehicle_path(@vehicle, :vehicle => {:active => 0}), method: :put, :class=>'btn btn-mini'

于 2013-07-05T16:22:31.447 に答える