我正在使用rails 4.2.6上的ruby,这是我的show.html文件
<h1><%= @post.title %></h1>
<p><%= @post.body %></p>
<p><%= @post.created_at %></p>
<%= link_to "Edit Post",edit_post_path %> | <%=link_to 'Delete Post',@post,method: :delete %>
这是我在帖子控制器中的代码
def destroy
@post = Post.find(params[:id])
@post.destroy
redirect to post_path,:notice =>"your post has been deleted"
end
end
日期未删除且显示日期,并且命令提示符内的错误为
action controller::routing error( no routing matches [get]"/javascripts/default.js)
请帮助!
答案 0 :(得分:1)
destroy方法应该是:
def destroy
@post = Post.find(params[:id])
@post.destroy
redirect_to posts_path, :notice => "your post has been deleted"
end
答案 1 :(得分:0)
1)。该错误并不意味着&#34;删除操作&#34;不工作,它说你的html / erb中的某个地方,你想要加载&#39; /javascripts/default.js' ;,但是你的config/routes.rb
中没有这个网址的定义
2)。您提供的destroy
控制器代码具有冗余end
,应该是这样的:
def destroy
@post = Post.find(params[:id])
@post.destroy
redirect to post_path, notice: "your post has been deleted"
end
3)。我认为你的服务器应该记录一些异常的语法错误,每当出现问题时,日志文件应该是你检查的第一件事。
答案 2 :(得分:0)
redirect to post_path
错误的是您重定向到显示页面,您需要在索引页面上重定向。
redirect to posts_path