Передача текущего или обновленного значения тега текстового поля для кнопки обновления?

0

У меня есть таблица, в которой я загружаю значения из сеанса.

Я работаю над кнопкой обновления. Я хочу передать текущее значение текстового поля контроллеру для выполнения операции обновления.

Мой код выглядит так:

<table>
  <thead>
    <tr>
      <th width="200">Name</th>
      <th width="150">Price</th>
      <th>Quantity</th>
      <th width="150">Total</th>
      <th></th>
    </tr>
    <% grand_total = 0 %>
    <% session[:cart].each do |key, item| %>
    <tr>
      <td><%= item[:name] %></td>
      <td>Rs. <%= item[:price] %></td>
      <td><%= text_field_tag(:quantity, item[:quantity]) %>
        <%= link_to("Update", {:action => "update", :id => item[:id], :quantity => item[:quantity]}) %>
      </td>
      <td><%= item[:total_cost] %></td>
      <td>
        <%= link_to("X", {:action => "delete", :id => item[:id]}) %>
      </td>
    </tr>
    <% grand_total = grand_total + item[:total_cost] %>
    <% end %>
  </thead>
</table>

Когда я нажимаю кнопку обновления, путь показывает "localhost: 3000/cart? Quantity = 1", хотя я изменяю значение в текстовом поле.

1 ответ

0

Шаблоны ERB визуализируются Rails на стороне сервера, но это взаимодействие происходит на стороне клиента, в браузере.

<%=... %> - причудливая форма интерполяции строк, но вы все равно можете думать об этом так же:

quantity = 1
message = "You have #{quantity} items"
quantity = 2
puts message # -> You have 1 items

Вы бы не ожидали, что напечатать. You have 2 items, не так ли?

onchange простой вариант - поместить некоторый javascript в директиву onchange на текстовом входе, который обновит кнопку отправки, но вы также можете посмотреть "привязку данных", если вы столкнулись с этой проблемой много.

  • 0
    да спасибо .. Можете ли вы сказать мне, как удалить тогда?
  • 0
    Задайте как отдельный вопрос; поставьте здесь ссылку, затем зайдите позже и удалите комментарий.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню