Ruby on rails 是否将注释结果作为未定义的方法“注释路径”删除?
当我试图删除注释时,注释并没有从数据库中删除,而且还有一个错误,未定义方法“comment_path” _comment.html.erb microposts_控制器.rb routes.rb 或 您的注释嵌套在MicroPost的范围内 要使其工作,您必须在锚定标记中提供一个微孔 例如: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
由于您有嵌套资源,因此必须执行以下操作: 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 %>