Rails и JavaScript ?: получить значение select_tag на странице индекса - PullRequest
0 голосов
/ 16 февраля 2012

Я бы хотел создать очень простой магазин с использованием RoR и нашел отличный пример в книге «Agile Web Developmenet with Rails». У меня есть список товаров на главной странице магазина, и для каждого товара есть кнопка для добавления товара в корзину. Как это:

<% @products.each do |product| %>
    <%= product.name %><br />
    <%= button_to 'Order', add_to_cart_store_index_path(:id => product), :remote => true %>
<% end %>

Я хотел бы добавить небольшое выпадающее меню, чтобы пользователь мог выбрать количество товаров, которые он хотел бы заказать:

<%= select_tag("quantity[#{product.id}]", options_for_select(['1', '2', '3', '4'], '1')) %>

При нажатии на кнопку необходимо передать выбранное значение из меню select_tag.

<%= button_to 'Order', add_to_cart_store_index_path(:id => product, :quantity => ?????), :remote => true %>

Я новичок в программировании, но я думаю, что для этого мне нужен javascript / jQuery, что-то вроде #quantity [# {product.id}]. Val (), но я не могу заставить его работать.

Я надеюсь, что вы можете помочь с этим. Если вы видите лучший способ реализовать это, дайте мне знать. Спасибо.

1 Ответ

0 голосов
/ 16 февраля 2012

Вместо того, чтобы пытаться реализовать кнопку добавления в корзину таким образом, я бы сделал ее формой, чтобы все работало вместе и отправляло количество без написания javascript.

<%= form_tag add_to_cart_store_index_path(:id => product), :method => :post do %>
  <%= select_tag :quantity, options_for_select(['1', '2', '3', '4'], '1' %>
  <%= submit_tag 'Add to cart' %>
<% end %>

В качестве дополнительного примечания может быть хорошим упражнением изучение программирования путем создания собственного простого магазина, следующего за вашей книгой, но если вы намереваетесь сделать что-то более сложное или достойное производства, это сэкономит вам много времени, чтобы попробовать что-то подобное Шпрее http://github.com/spree/spree в качестве решения, а не изобретать колесо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...