我的问题是我有一个订单(子记录),但用户(父记录)还不存在。我想在用户表单中将订单作为嵌套属性发送。
查找订单:
@order = Order.where(:paypal_express_token => params[:token]).last
创建用户:
@user = User.new
尝试创建关系
if @order.user_id.blank?
@order.user_id = @user.id
end
但似乎这是错误的。
在同时创建孩子和父母的时候,我可以这样做:
@user = User.new
@user.build_order
有什么想法吗?
更新
我正在尝试使用@MrYoshiji建议,但我在这个问题中发现了另一个问题:Why the code doesn't appear in the html?... in Rails
答案 0 :(得分:1)
您可以执行以下操作:
@order = Order.where(:paypal_express_token => params[:token]).last
@order.user ||= User.new # ||= will set user if @order.user returns nil OR false
# ...
@order.save # should save the user also