我对rails有点陌生,所以请原谅这个愚蠢的问题。
我在 Rails 中有一个使用 mongoid 的博客类型应用程序,它有一个用户部分和一个评论部分。(评论嵌入在文章中)。所以我的评论控制器的删除方法遇到了问题。为了删除它们,我遍历我的集合,并查找用户单击的 id 的位置,params[:id] 等于数据库中的 id,comment.id。使用打印语句,我发现这确实有效,并且两个 id 应该相等。但是,由于某种原因,当我在 rails 中使用等于运算符 (==) 时,它会将注释注册为 nil。
任何帮助,将不胜感激!
def destroy
@article = Article.find(params[:article_id])
logger.debug(@article)
@article.comments.each do |comment|
logger.debug(comment)
print comment.id.
print ", "
print params[:id]
print " | "
if comment.id.equal? params[:id]
comment.destroy unless comment.nil?
end
end
respond_to do |format|
format.html { redirect_to "/" }
format.js
end
end