【发布时间】:2012-09-27 15:37:49
【问题描述】:
我有一个嵌入文档的 Item 模型。目前,以下 cmets_controller 代码将成功为项目添加注释。但是,如果将评论文档推送到 item 的 cmets 数组上失败,我将不知道这一点。
#this does work, but i do not know if the push fails
def create
comment = Comment.new(:text => params[:text])
@item.comments << comment
render :text => comment
end
我想要这样的东西,但是@item.cmets
#this does not work
def create
comment = Comment.new(:text => params[:text])
if @item.comments << comment
render :text => comment
else
render :text => 'oh no'
end
end
文档推送失败时也不抛出异常:
#this does not work
def create
begin
comment = Comment.new(:text => params[:text])
@item.comments << comment
render :text => comment
rescue Exception => e
render :text => 'oh no'
end
end
谢谢!
【问题讨论】:
-
奇怪,在
@item.comments << comment之后不需要@item.save吗?
标签: ruby-on-rails ruby ruby-on-rails-3 ruby-on-rails-3.1 mongoid