Rails 4 détruire l'action, undefined_method message_path

J'ai un problème avec les Rails de détruire l'action. J'ai pleinement de travail, système de message. L'utilisateur peut envoyer, lire les messages, mais ne pouvez pas le supprimer.
Mon Message est un Contrôleur:

class MessagesController < ApplicationController
 before_filter :set_user
 def index
   if params[:mailbox] == "sent"
    @messages = @user.sent_messages.page(params[:page])
   elsif params[:mailbox] == "inbox"
    @messages = @user.received_messages.page(params[:page])
   end
 end

 def new
  @message = Message.new
  @reply_to = User.find_by_id(params[:reply_to])
  unless @reply_to.nil?
    @message.recepient_id = @reply_to.id
  end
 end

 def create
  @message = Message.new(message_params)
  @message.sender_id = @user.id
  if @message.save
   flash[:notice] = "Message has been sent"
   redirect_to user_messages_path(current_user, :mailbox=>:inbox)
  else
   render :action => :new
  end
 end

 def show
  @message = Message.readingmessage(params[:id],@user.id)
 end
 def destroy
  @message = Message.find(params[:id])
  @message.destroy
 end

private

 def message_params
  params.require(:message).permit(:sender_id, :recepient_id, :body, :subject, :read_at)
 end

 def set_user
  @user = current_user
 end
end

Mes Itinéraires sont:

resources :users do
  resources :messages 
end

Dans la vue j'ai le lien pour supprimer(ce qui n'est pas de travail):

 %h2 Your Inbox
- if @messages.size == 0
  %h1 No messages in your Inbox
- else
  %table.table.table-bordered
    %tr
      %th Subject
      %th Sender
      %th Sent At
    - for message in @messages
      %tr
        %td
          - if message.read?
            = link_to h(message.subject), user_message_path(@user, message)
          - else
            = link_to "#{h(message.subject)} (unread)", user_message_path(@user, message)
        %td= "#{message.sender.name}"
        = link_to "Delete Message", @message, method: :delete, data: {confirm: "You sure?"}

Lorsque je clique Sur ce lien, j'ai l'erreur suivante:

No route matches [DELETE] 

râteau itinéraires pour les Messages:

         user_messages GET    /users/:user_id/messages(.:format)          messages#index
                       POST   /users/:user_id/messages(.:format)          messages#create
      new_user_message GET    /users/:user_id/messages/new(.:format)      messages#new
     edit_user_message GET    /users/:user_id/messages/:id/edit(.:format) messages#edit
          user_message GET    /users/:user_id/messages/:id(.:format)      messages#show
                       PATCH  /users/:user_id/messages/:id(.:format)      messages#update
                       PUT    /users/:user_id/messages/:id(.:format)      messages#update
                       DELETE /users/:user_id/messages/:id(.:format)      messages#destroy

Des idées? 🙂

  • Vous souhaitez message au lieu de @message.
  • pour faire supprimer la méthode de travail, vous devez avoir le javascript charger correctement. voir dans votre navigateur que dans firebug ou chrome, les développeurs d'outils de la console que tous les fichiers sont chargés correctement. Et pourriez-vous collez votre rake routes de sortie de la commande?
  • Quand je change de @mesaage de message que j'ai le undefined method `message_path' erreur.