Все еще работая над моим приложением Rails / MongoDB, у меня есть еще одна проблема.
На этот раз я могу создавать встроенные документы, но не могу их удалить, хотя я делал то, что было сказано в другой теме Stackoverflow (/3976362/udalit-vnedrennyi-dokument-v-mongoid)
А вот и мой контроллер:
class FeedSubscribtionsController < ApplicationController
has_to_be_connected
def create
if session[:user_id] != params[:id]
@self = current_user
attributes = { :user => @self, :userId => params[:id], :feedId => params[:feed] }
subscribtion = FeedSubscribtion.create attributes
success = subscribtion.save
render json: { :success => success, :feed => params[:feed] }
end
end
def destroy
success = false
if session[:user_id] != params[:id]
@self = current_user
uid, fid = params[:id], params[:feed]
@feed = @self.feed_subscribtions.where :userId => uid, :feedId => fid
if @feed.count > 0
@self.feed_subscribtions.delete @feed.first.id.to_s
success = @feed.first.save
end
end
render json: { :success => success, :feed => params[:feed] }
end
end
Самое странное то, что все идет хорошо: успех в рендеринге объекта JSON равен true.
Я также попытался заменить «success = @ feed.first.save» на «@ self.save»: в этом случае он возвращает false, но без дальнейших объяснений.
(я знаю, что для того, чтобы логика этого контроллера была идеальной, я должен зацикливаться на массиве @feed, и я сделаю это, как только он начнет работать ^^, проще отлаживать таким образом)
Итак, есть ли способ узнать, почему @ ßelf.save не работает или почему @ feed.first.save не дает сбоя, но на самом деле тоже не сохраняет?
Спасибо.