2015-03-05 2 views
0

Так что это мой первый опыт работы с Rails, я сделал все, что в соответствии с http://guides.rubyonrails.org/getting_started.html#generating-a-modelНевозможно сделать уничтожить комментарии работы (рельсы)

И теперь я не могу уничтожить commment ... Я пытался несколько поиска Google, я пытался чтобы удалить файл, то создать его снова, ничего не работает ... Мой comments_controller.rb

class CommentsController < ApplicationController 
    def index 
    end 

    def show 
    end 

    def new 
    end 

    def edit 
    end 

    def create 
    @article = Article.find(params[:article_id]) 
    @comment = @article.comments.create(comment_params) 
    redirect_to article_path(@article) 
    end 

    def destroy 
    @article = Article.find(params[:article_id]) 
    @comment = @article.comments.find(params[:id]) 
    @comment.destroy! 
    redirect_to article_path(@article)      
    end 

    private 
    def comment_params 
     params.require(:comment).permit(:commenter, :body) 
    end 

end 

    p> 
  <strong>Commenter:</strong> 
  <%= comment.commenter %> 
</p> 
  

И мой _comment.html.erb является

<p> 
  <strong>Comment:</strong> 
  <%= comment.body %> 
</p> 
  
<p> 
  <%= link_to 'Delete the comment', [comment.article, comment], 
               method: :delete, 
               data: { confirm: 'Are you sure?' } %> 
</p> 

Я получаю это когда я CLIC к на «Удалить комментарий» кнопку

Missing template comments/show, application/show with {:locale=>[:en], :formats=>[:html], :variants=>[], :handlers=>[:erb, :builder, :raw, :ruby, :coffee, :jbuilder]}. Searched in: * "/root/blog/app/views" 

Но это не должно быть проблемой, так как я делаю редирект на пути статьи? Правильно?? Я уверен, надеюсь, что это опечатка где-то, но теперь я не могу найти его ....

Edit: это текст кнопки

<form action="/articles/2/comments/1" class="button_to" method="post"> <div><input type="submit" value="Delete the comment" &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;data="{:confirm=>&quot;Are you sure?&quot;}" &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;method="delete"><input name="authenticity_token" type="hidden" value="rW+wymZlJp2cMrhGUX31Y/vLz+qZ1VHTEVHaavS7YTU="></div></form> 
+0

пропускания '@ article' к' article_path' перенаправит его на 'show' страницы для этой статьи. Где вы хотите перенаправить? Вернуться к индексу? –

+0

Я хочу перенаправить на страницу статьи. Так что это будет на странице показа статьи, а не на странице показа комментариев ... –

+0

Извините, мой плохой, я неправильно понял. Прочтите это слишком быстро. Таким образом, проблема в двух словах заключается в том, что ссылка отправляет запрос GET, а не DELETE. Имеет ли [этот ответ] (http://stackoverflow.com/a/3775095/877472) какое-либо значение? –

ответ

0

выглядит как метод: удаление ссылки не работает.

Убедитесь, что Javascript включен и добавить

<%= javascript_include_tag :defaults %> 
<%= csrf_meta_tag %> 

к <head> вашему макету/приложения

Смежные вопросы