2017-10-07 1 views
0

C'est l'im erreur seComment créer un itinéraire SUPPRIMER et sa fonction avec un formulaire

Aucun résultat de route [POST] "/ questions/1"

Ceci est le code du contrôleur Je suis en train de faire la question à supprimer lorsque vous utilisez le bouton Je sais que la route est/question /: id et la méthode est POST et le nom de méthode doit être détruire

class QuestionsController < ApplicationController 
skip_before_action :verify_authenticity_token, :only => :create 

def index 
@questions = Question.all 
end 

def show 
id = params[:id] 
@question = Question.find(id) 
@answers = Answer.all 
end 

def destory 
@question = Movie.delete(params[:id]) 
redirect_to "/questions" 
end 

def create 
Question.create(title: params[:title], content: params[:content]) 
redirect_to "/questions" 
end 
end 

C'est le code html du formulaire est le formulaire de suppression

<div> 
Title:<br> 
<%= @question.title%><br> 
Question:<br> 
<%= @question.content%><br><br> 
<form action="https://stackoverflow.com/questions/<%[email protected]%>" method="POST"> 
<input type="hidden" name="method" value="DELETE"> 
<input type="submit" value="Delete Question"> 
</form> 

<% @answers.each do |answer| %> 
<% if answer.question_id == @question.id %> 
Title:<br> 
<%= answer.title%><br> 
Answer:<br> 
<%= answer.content%> 
<%end%> 
<%end%> 

<form> 
<input type="text" name="title" placeholder="Title"><br> 
<input type="text" name="content" placeholder="Answer"> 
<input type="submit" name="submit"> 
</form> 
</div> 

routes.rb

Rails.application.routes.draw do 
resources :questions 
end 
+0

Qu'est-ce que c'est? 'erb' plus du HTML fait à la main? Pourquoi n'utilisez-vous pas un assistant de formulaire? – jvillian

+0

ne sais pas ce qu'est une aide de la forme, je suis frais au large Active record et ruby ​​et je viens dans le monde des rails essayant de comprendre cela. – Thallius

+0

Afficher votre fichier de routes. Aussi tu as épelé détruire * destory *. – dbugger

Répondre

0

En supposant que vous avez vos itinéraires mis en place correctement, vous devez faire quelque chose comme:

<%= form_for @question, method: :delete do |f| %> 
    ... 
<% end %> 

Vous ne devez PAS créer ce HTML à la main.

Vous avez vraiment besoin de lire le Guide et le api doc (faites défiler vers le bas pour "form_for avec un objet modèle").

+0

Je ne pouvais pas obtenir ce travail si vous pouviez entrer dans quelques détails pour m'aider ce serait génial! – Thallius

+0

Mettez à jour votre question avec ce que vous avez essayé. Et toutes les erreurs que vous avez dans la console. – jvillian