Rails - 不保存属性

时间:2013-05-27 15:16:54

标签: ruby-on-rails

我有这段代码:

 if request.post? and @user.save
      @contact.user_id = @user.id
      @contact.save
      flash[:notice] = l(:e_user_saved)
      redirect_to :action => 'list'
 end

但是当rails保存联系人时,user_id仍为空。

当我调试时,我看到它分配了值,但是当它保存时,它保存为null。为什么???

1 个答案:

答案 0 :(得分:1)

contact.save可能失败了。你没有检查返回值,所以你不知道。

检查contact.errors哈希,看看出了什么问题。

您应该在contact.save区块中if

if @contact.save
  flash[:notice] = l(:e_user_saved)
  redirect_to :action => 'list'
else
  # some error handling
  # and redirect somewhere else
end