相关的参数不会通过,但是其他人会通过吗?为什么?

时间:2019-03-24 23:06:43

标签: ruby-on-rails ruby

问题:关联模型中的特定记录在创建时不会传递,但是来自同一关联模型中的其他记录将....

我在创建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中。我看到了一切,包括没有生产价格的国家。没有错误或不允许的参数等。

0 个答案:

没有答案