Необходимо, чтобы мое скрытое поле отправляло экземпляр как значение - PullRequest
0 голосов
/ 29 апреля 2020

Внутри моего продукта я создаю форму для добавления нового "order_product" в мою корзину. У моего order_product есть product_id и количество для создания.

Это моя форма:

<%= form_tag "/order_products" do %>
  <%= hidden_field_tag :product_id, value: @product.id %>
  <%= number_field_tag :quantity, value: 1, min: 1 %>
  <%= submit_tag "Add to Cart" %>
<% end %>

Это то, что я получаю в качестве параметров:

Parameters:

{"utf8"=>"✓", "authenticity_token"=>"haIRU0FiB8DWHNJWAMJoIyP/jpLZeFOU9gsl8eDMmgacX7glGHq8hsQmp76SiIp2jF32STdhHE5zM/VxXkMi+g==", "product_id"=>"{:value=>2}", "quantity"=>"", "commit"=>"Add to Cart"}

Мне нужен только produt_id, но если я пишу params [: product_id] [: value], эта ошибка появляется в консоли:

>> params[:product_id][:value]
TypeError: no implicit conversion of Symbol into Integer
	from /home/marcele/Webshop-Project/app/controllers/order_products_controller.rb:24:in `[]'
	from /home/marcele/Webshop-Project/app/controllers/order_products_controller.rb:24:in `order_params'

Что я мог сделать, чтобы решить эту проблему?

1 Ответ

0 голосов
/ 29 апреля 2020

Удалить value: @product.id га sh. Второй параметр на самом деле значение. Попробуйте это

<%= form_tag "/order_products" do %>
  <%= hidden_field_tag :product_id, @product.id %>
  <%= number_field_tag :quantity, 1 %>
  <%= submit_tag "Add to Cart" %>
<% end %>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...