Ruby on rails 是否将注释结果作为未定义的方法“注释路径”删除?

Ruby on rails 是否将注释结果作为未定义的方法“注释路径”删除?,ruby-on-rails,ruby,ruby-on-rails-3,ruby-on-rails-4,Ruby On Rails,Ruby,Ruby On Rails 3,Ruby On Rails 4,当我试图删除注释时,注释并没有从数据库中删除,而且还有一个错误,未定义方法“comment_path” _comment.html.erb microposts_控制器.rb routes.rb 或 您的注释嵌套在MicroPost的范围内 要使其工作,您必须在锚定标记中提供一个微孔 例如: 由于您有嵌套资源,因此必须执行以下操作: 1.在控制器中: # DELETE /microposts/:micropost_id/comments/1 def destroy #1st you retr

当我试图删除注释时,注释并没有从数据库中删除,而且还有一个错误,未定义方法“comment_path”

_comment.html.erb

microposts_控制器.rb

routes.rb

您的注释嵌套在MicroPost的范围内

要使其工作,您必须在锚定标记中提供一个微孔

例如:


由于您有嵌套资源,因此必须执行以下操作:

1.在控制器中:

# DELETE /microposts/:micropost_id/comments/1
def destroy
  #1st you retrieve the micropost thanks to params[:micropost_id]
  micropost = Micropost.find(params[:micropost_id])
  #2nd you retrieve the comment thanks to params[:id]
  @comment = micropost.comments.find(params[:id])
  @comment.destroy

  flash[:success] = "Micropost deleted"
  redirect_to request.referrer || root_url
end
2.在您看来,替换

与:


谢谢你的指导:谢谢你的指导:很抱歉@Andrey Deineko。。我是新来的:当你有足够的声望时,你也可以投票给其他人答案/问题,25或50,不记得你现在有28个,从现在开始尝试投票给一些答案/问题你也是stackoverflow的好向导:@Andrey Deineko
 def destroy
   @comment.destroy
   flash[:success] = "Micropost deleted"
   redirect_to request.referrer || root_url
 end
 def show
    @user = User.find(params[:id])
    @microposts = @user.microposts.paginate(page: params[:page])
    @comments = @micropost.comments
 end
 resources :microposts do
    resources :comments
 end
link_to(
  "delete",
  microposts_comment_path(comment.micropost, comment),
  method: :delete
)
link_to(
  'Delete Comment',
  [comment.micropost, comment],
  method: :delete,
  data: { confirm: 'Are you sure?' }
)
link_to "Delete Comment", [comment.micropost, comment], method: :delete

# OR

link_to "Delete Comment", microposts_comment_path(comment.micropost, comment), method: :delete
# DELETE /microposts/:micropost_id/comments/1
def destroy
  #1st you retrieve the micropost thanks to params[:micropost_id]
  micropost = Micropost.find(params[:micropost_id])
  #2nd you retrieve the comment thanks to params[:id]
  @comment = micropost.comments.find(params[:id])
  @comment.destroy

  flash[:success] = "Micropost deleted"
  redirect_to request.referrer || root_url
end
<%= link_to "delete", [comment.micropost, comment], method: :delete %>