私はレールに少し慣れていないので、お粗末な質問はご容赦ください。
ユーザーセクションとコメントセクションがあるmongoidを使用したRailsのブログタイプのアプリケーションがあります。(コメントは記事に埋め込まれています)。そのため、コメントコントローラーの削除メソッドに問題がありました。それらを削除するために、コレクションをトラバースし、ユーザーがクリックしたIDであるparams [:id]がデータベース内のIDであるcomment.idと等しい場所を探します。printステートメントを使用して、これが機能し、2つのIDが等しくなければならないことを知ることができました。ただし、何らかの理由で、railsでequals演算子(==)を使用すると、コメントが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