Я немного новичок в рельсах, поэтому прошу прощения за вопрос noobish.Rails Controller id Equals
У меня есть приложение типа блога в рельсах с использованием mongoid, в котором есть раздел пользователей и раздел комментариев. (Комментарии включены в статью). Поэтому у меня возникли проблемы с методом удаления моего контроллера комментариев. Чтобы удалить их, я просматриваю свою коллекцию и ищу, где идентификатор, который пользователь нажал, params [: id] равен id в базе данных comment.id. Используя заявления печати, я смог выяснить, что это работает и что два идентификатора должны быть равны. Однако по какой-то причине, когда я использую оператор equals (==) в 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
print "# {comment.id.inspect}, # {params [: id] .inspect} |" покажет разницу между id как целым числом и параметром в виде строки. –
@MarlinPierce id in mongoid - объекты BSON – apneadiving
Последний работает в mongoid. Используя синтаксис хеша Ruby 1.9, @ article.comments.where (_id: params [: id]). Сначала – novemberkilo