2017-10-07 52 views
0

這是錯誤即時得到如何創建一個DELETE路線,其功能與窗體

沒有路由匹配[POST]「/問題/ 1」

這是控制器代碼 我試圖讓這個問題被刪除使用按鈕 當我知道的路線/問題/:id和方法是POST和方法名必須摧毀

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 

這是HTML的形式是刪除形式

<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

那是什麼? 'erb'加上一些手工製作的HTML?你爲什麼不使用表單助手? – jvillian

+0

不知道什麼樣的表單助手是我的新鮮主動記錄和紅寶石,我正在進入鐵軌世界試圖弄清楚這一點。 – Thallius

+0

顯示您的路線文件。你也拼寫了毀滅*毀滅*。 – dbugger

回答

0

假設你有你的路由設置正確,你應該喜歡做一些:

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

你不應該手工製作HTML。

您確實需要閱讀Guideapi doc(向下滾動到「form_for with model object」)。

+0

如果你能進入一些細節來幫助我,那就太棒了! – Thallius

+0

用你試過的東西更新你的問題。以及您在控制檯中遇到的任何錯誤。 – jvillian