Erreur de routage Aucune route matches [PATCH] “/emplacements”

Je reçois un itinéraire d'erreur après la mise à jour de l'emplacement de l'élément de

Je suis en utilisant before_action pour définir l'emplacement id

before_action :set_location, only: [:show, :edit, :update, :destroy]

private
def set_location
  @location = Location.find(params[:id])
end

voici mon contrôleur
Je n'ai que des ennuis avec la nouvelle mise à jour et de supprimer les beaux travaux

def create
@location = Location.new(location_params)
respond_to do |format|
  if @location.save
    format.html { redirect_to @location, notice: 'Location was successfully created.' }
    format.json { render action: 'show', status: :created, location: @location }
  else
    format.html { render action: 'new' }
    format.json { render json: @location.errors, status: :unprocessable_entity }
  end
end

fin

def update
respond_to do |format|
  if @location.update(location_params)
    format.html { redirect_to @location, notice: 'Location was successfully updated.' }
    format.json { head :no_content }
  else
    format.html { render action: 'edit' }
    format.json { render json: @location.errors, status: :unprocessable_entity }
  end
 end
end

ici est de savoir comment mes tracés sont définis

Routes

Routes match in priority from top to bottom

Helper  HTTP Verb   Path    Controller#Action
Path / Url          
static_pages_home_path   GET     /static_pages/home(.:format)    static_pages#home
static_pages_help_path   GET     /static_pages/help(.:format)    static_pages#help
static_pages_about_path  GET     /static_pages/about(.:format)   static_pages#abo ut
root_path                    GET     /   static_pages#home  
locations_path           GET     /locations(.:format)    locations#index
                             POST    /locations(.:format)    locations#create
new_location_path            GET     /locations/new(.:format)    locations#new
 edit_location_path          GET     /locations/:id/edit(.:format)   locations#edit
location_path             GET    /locations/:id(.:format)    locations#show
                             PATCH   /locations/:id(.:format)    locations#update
                             PUT     /locations/:id(.:format)    locations#update
                             DELETE  /locations/:id(.:format)    locations#destroy

ne sais pas si j'ai besoin d'ajouter quoi que ce soit d'autre

Je suppose que je peux ajouter la trace

actionpack (4.0.2) lib/action_dispatch/middleware/debug_exceptions.rb:21:in `call'
actionpack (4.0.2) lib/action_dispatch/middleware/show_exceptions.rb:30:in `call'
railties (4.0.2) lib/rails/rack/logger.rb:38:in `call_app'
railties (4.0.2) lib/rails/rack/logger.rb:20:in `block in call'
activesupport (4.0.2) lib/active_support/tagged_logging.rb:67:in `block in tagged'
activesupport (4.0.2) lib/active_support/tagged_logging.rb:25:in `tagged'
activesupport (4.0.2) lib/active_support/tagged_logging.rb:67:in `tagged'
railties (4.0.2) lib/rails/rack/logger.rb:20:in `call'
actionpack (4.0.2) lib/action_dispatch/middleware/request_id.rb:21:in `call'
rack (1.5.2) lib/rack/methodoverride.rb:21:in `call'
rack (1.5.2) lib/rack/runtime.rb:17:in `call'
activesupport (4.0.2) lib/active_support/cache/strategy/local_cache.rb:83:in `call'
rack (1.5.2) lib/rack/lock.rb:17:in `call'
actionpack (4.0.2) lib/action_dispatch/middleware/static.rb:64:in `call'
rack (1.5.2) lib/rack/sendfile.rb:112:in `call'
railties (4.0.2) lib/rails/engine.rb:511:in `call'
railties (4.0.2) lib/rails/application.rb:97:in `call'
rack (1.5.2) lib/rack/lock.rb:17:in `call'
rack (1.5.2) lib/rack/content_length.rb:14:in `call'
rack (1.5.2) lib/rack/handler/webrick.rb:60:in `service'
/home/johnk/.rbenv/versions/2.0.0-p247/lib/ruby/2.0.0/webrick/httpserver.rb:138:in `service'
/home/johnk/.rbenv/versions/2.0.0-p247/lib/ruby/2.0.0/webrick/httpserver.rb:94:in `run'
/home/johnk/.rbenv/versions/2.0.0-p247/lib/ruby/2.0.0/webrick/server.rb:295:in `block in start_thread'

_form fichier

<%= form_for @location,:url => locations_path, :html => { :multipart => true , :class => 'form-horizontal' } do |f| %>
<div class="control-group">
<%= f.label :latitude, :class => 'control-label' %>
<div class="controls">
<%= f.text_field :latitude, :class => 'text_field' %>
</div>
</div>
<div class="control-group">
<%= f.label :longitude, :class => 'control-label' %>
<div class="controls">
<%= f.text_field :longitude, :class => 'text_field' %>
</div>
</div>
<div class="control-group">
<%= f.label :address, :class => 'control-label' %>
<div class="controls">
<%= f.text_field :address, :class => 'text_field' %>
</div>
</div>
<div class="control-group">
<%= f.label :description, :class => 'control-label' %>
<div class="controls">
<%= f.text_field :description, :class => 'text_field' %>
</div>
</div>
<div class="control-group">
<%= f.label :title, :class => 'control-label' %>
<div class="controls">
<%= f.text_field :title, :class => 'text_field' %>
</div>
</div>
<div class="control-group">
<%= f.label :user_id, :class => 'control-label' %>
<div class="controls">
<%= f.text_field :user_id, :class => 'text_field' %>
</div>
</div>
<div class="control-group">
<%= f.label :rating, :class => 'control-label' %>
<div class="controls">
<%= f.text_field :rating, :class => 'text_field' %>
</div>
</div>
<div class="control-group">
<%= f.label :no_rates, :class => 'control-label' %>
<div class="controls">
<%= f.text_field :no_rates, :class => 'text_field' %>
</div>
</div>
<%= f.file_field :picture %>
<div class="form-actions">
<%= f.submit nil , :class => 'btn btn-primary' %>
<%= link_to t('.cancel', :default => t("helpers.links.cancel")),
locations_path, :class => 'btn' %>
</div>
<% end %>
Dans votre définition de la route que vous avez PATCH /locations/:id mais vous essayez d'accéder à /locations. Votre url doit être PATCH /locations/SOME_ID
Comment regarde la forme ? Avez-vous un complet stacktrace de montrer ?
J'utilise le même code pour créer ce qui semble bien fonctionner. Après l'enregistrement de la vue passe à /emplacements/id
Pourriez-vous s'il vous plaît également afficher le fichier de modèle? Je soupçonne qu'il ya quelque chose de mal avec votre fichier de modèle.

OriginalL'auteur John Kraszewski | 2014-01-19