Ruby on Rails - получение значения из поля ввода и переход на другую страницу - PullRequest
1 голос
/ 25 марта 2011

Мне нужно передать значение поля ввода на другую страницу, где оно добавит это значение в базу данных.

код выглядит так

    .shoping_cart_col2
      %input.cart_box{:type => "text", :value => "1"}/
    .shoping_cart_col3 
      = button_to "Add To Cart" , line_items_path(:product_id => @prod)

Когда я нажимаю кнопку «Добавить в корзину», я хочу, чтобы значение cart_box было отправлено вместе с ним на следующую страницу, это значение будет передано на следующую страницу как: количество

Ответы [ 2 ]

3 голосов
/ 25 марта 2011

Прежде всего вам нужно какое-то имя для поля ввода, чтобы Rails мог его найти и передать в params хеш.

.shoping_cart_col2
  %input.cart_box{:name => 'item_amount', :type => "text", :value => "1"}

Теперь в вашем контроллере вы можете получить это значение с помощью:

# Somewhere in ItemLinesController
def some_action
  ...
  @quantity = params[:item_amount].nil? ? 1 : params[:item_amount]
  ...
end

И теперь он должен быть доступен из следующей страницы через переменную @quantity.

0 голосов
/ 04 июля 2016

У меня недавно был такой же вопрос. Вот как я это решил (я использую Rails 5)

Это моя форма на домашней странице, которая является статической страницей:

<%= form_tag(new_project_path, method: :get) do %>
  <%= text_field_tag :project, params[:name], placeholder: "project name", class: "project-start" %>
  <%= submit_tag "Submit" %>
<% end %>

Затем на моей странице / projects / new есть часть формы, которую мне нужно было предварительно заполнить из поля ввода на домашней странице:

<div class="field">
  <%= f.label :name, 'Project Name' %>
  <%= f.text_field :name, value: params[:project], required: true %>
</div>
...