ERREUR: Aucun résultat de route [GET] "/ réservations /: id /% 3E: format"Rails: Route erreur en essayant de mettre à jour l'attribut par link_to
Je veux mettre à jour un attribut quand cliquez sur le lien de ' link_to » ..
<%= link_to 'Cancel', '/bookings/:id/(.:format)' %>
routes.rb
put '/bookings/:id/(.:format)' => "bookings#tocancel"
patch '/bookings/:id/(.:format)' => "bookings#tocancel"
contrôleur
def tocancel
@booking = Booking.find(params[:id])
@booking.update_attribute(:status, "cancel")
respond_to do |format|
format.html { redirect_to @booking, notice: 'Booking was successfully cancelled.' }
format.json { render :show, status: :ok, location: @booking }
fin
Vous ne transmettez pas le format d'URL à link_to. Vous pouvez utiliser la méthode helper bookings_path et transmettre l'objet @booking. Lisez la (excellente) documentation à ce sujet: http://guides.rubyonrails.org/routing.html – MrWillihog
'<% = link_to 'Annuler', 'complete_url/bookings/pass_id_value_here'%>' passe la valeur de l'identifiant dans ': id' endroit. –
<% = link_to 'Annuler', tocancel_booking_path (réservation)%> ERREUR: Aucune route ne correspond [GET] "/ bookings/36/tocancel" –