我試圖將父項模型(訂單)中的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