问题:关联模型中的特定记录在创建时不会传递,但是来自同一关联模型中的其他记录将....
我在创建UserProducts时具有以下内容:
def create
@user_product = UserProduct.new(user_product_params)
@product = Product.find_by(params[:product_id])
@user = current_user
@user_product.user_id = @user.id
@user_product.country = @product.country
@user_product.production_price = @product.price
...
private
...
def user_product_params
params.require(:user_product).permit(:product_id, :color, :size, :production_price, {product_ids: []})
end
型号:
产品:
has_and_belongs_to_many :user_products
用户产品:
has_and_belongs_to_many :products
我没有得到的问题是@user_product.country = @product.country
可以很好地传递到我的模型数据库。但是@user_product.production_price = @product.price
不会。可能有干扰吗?
产品模型具有t.string "price"
,而UserProduct具有t.string "production_price"
我试图将.to_s
放在价格的最后,但是没有用。尝试将.to_i
放在价格的最后,也没有用。
如果我执行user_product.production_price = @product.price + 5
,它将以5
的形式进行。因此,从本质上说,production_price为nil时为零?
我最大的疑惑是它通过了国家,但没有通过价格。
在CMD中。我看到了一切,包括没有生产价格的国家。没有错误或不允许的参数等。