Проблема: Конкретная запись из связанной модели не будет проходить при создании, но другие из той же связанной модели будут ...
У меня есть следующее вМои создания для 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 равен нулю, а не равен?
Моя самая большая проблема в том, что она пропускает страну, но не цену.
В CMD .Я вижу, что все проходит, в том числе: страна без production_price.Нет ошибок или недопустимых параметров и т. Д.