Подтвердить что ты не робот

Как добавить значение по умолчанию для поля number_field в рельсах?

Я создал форму

<%= form_for [current_user,@product,@bid] do |f| %>
  <p><%= f.number_field :bid_amount %></p>
  <p><%= f.number_field :product_id %>
  <p><%= f.submit 'Bid!' %></p>
<% end %>

В поле: product_id я хочу добавить @product.id по умолчанию, как это реализовать? Пожалуйста. Заранее спасибо.:)

4b9b3361

Ответ 1

 <p><%= f.number_field :product_id, :value => @product.id %></p>

более подробная информация о: NumberField

Ответ 2

Просто:

<p><%= f.number_field :product_id, :value => @product.id %></p> 

Ответ 3

Я предполагаю, что ставка принадлежит продукту. Поэтому product_id не должен быть в форме вообще для пользователя. В качестве идентификационного номера это бессмысленно и должно быть установлено для правильного продукта для всех ставок.

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

Ответ 4

Просто добавьте @product.id в свое поле.

В этом примере <% = f.number_field: product_id, @product.id% >

Ответ 5

user740584 прав, пользователь не должен иметь возможность редактировать product_id.

Если вам действительно нужна эта форма, вы можете использовать

<%= f.hidden_field :product_id %>

Ответ 6

вы можете сделать это, если хотите фиксированное значение

<%= f.number_field :product_id , value: @product.id %>

но проблема остается, если вы пытаетесь отредактировать ее позже, старое значение останется там, я не думаю, что это проблема в случае id.