仍然在使用Rails/MongoDB應用程序,但還有另一個問題。 這一次,我可以創建嵌入式文檔,但不能刪除它們,雖然我一直在做什麼已經在另一個Stackoverflow主題(http://stackoverflow.com/questions/3693842/remove-an-embedded-文檔中-mongoid)無法使用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。 我也嘗試用「@ self.save」替換「success = @ feed.first.save」:在這種情況下,它返回false,但沒有進一步的解釋。
(我知道,爲了這個控制器背後的邏輯是完美的,我要把@feed陣列上環,我會一旦它開始工作^^它只是更容易調試方式)
所以,有什麼方法可以找出爲什麼@ßelf.save失敗,或者爲什麼@ feed.first.save不會失敗,但實際上並不保存?
謝謝。