我尝试将user_id从父模型(订单)传递到子模型(销售)。因为这不起作用"正常"方式,如@sale.user_id = current_user.id
(这实际上适用于具有Order
的父模型@order.user_id = current_user.id
。我在我的模型中尝试了这个解决方法:
class Sale < ActiveRecord::Base
belongs_to :order
before_create :user
def user
self.user_id = Order.where(:id => self.order_id).pluck(:user_id)
end
end
在user
内我将订单 .id(父级)与 Sale .order_id(子级)作为{{1}进行比较}保存在Sale记录中。当我查找上一个销售记录时,order_id
始终为user_id
。
nil
你有想法吗?
答案 0 :(得分:1)
在您的模型中尝试此操作。
def user
self.user_id = self.order.user_id
end
答案 1 :(得分:1)
params [:sale] .permit(:product,:product_group,:discount,:order_id ,:user_id ,:乘数)
首先,您应不允许 user_id
&amp;你的控制器中有order_id
。
其次,您可以按照以下方式填写销售user_id
:
def user
user_id = order.user_id
end