我试图将父项模型(订单)中的user_id传递给子模型(销售)。由于这不起作用,“正常”的方式,如@sale.user_id = current_user.id
(这实际上适用于父母模型Order
与@order.user_id = current_user.id
)。Rails:嵌套窗体 - 将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(父)与销售 .order_id(子)作为order_id
被保存在售中:我在我的模型作为一种变通方法试过这种记录。当我查看最后的销售记录时,user_id
总是nil
。
class SalesController < ApplicationController
load_and_authorize_resource
before_action :authenticate_user!
def create
@order = Order.find(params[:order_id])
@sale = @order.sales.create(params[:sale].permit(:product, :product_group, :discount, :order_id, :user_id, :multiplier))
redirect_to order_path(@order)
end
你有想法吗?
哪里是在其中创建'Sale'和'Order'记录的代码? – RAJ
对不起。刚添加SalesController。订单不相关恕我直言,因为一切工作在那里。 – CottonEyeJoe
你在哪里创建订单记录?请确认你的订单记录是否真的有'user_id'栏填写正确 – RAJ