Ответ 1
<p><%= f.number_field :product_id, :value => @product.id %></p>
более подробная информация о: NumberField
Я создал форму
<%= 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 по умолчанию, как это реализовать? Пожалуйста. Заранее спасибо.:)
<p><%= f.number_field :product_id, :value => @product.id %></p>
более подробная информация о: NumberField
Просто:
<p><%= f.number_field :product_id, :value => @product.id %></p>
Я предполагаю, что ставка принадлежит продукту. Поэтому product_id не должен быть в форме вообще для пользователя. В качестве идентификационного номера это бессмысленно и должно быть установлено для правильного продукта для всех ставок.
Действие в форме автоматически означает, что он правильно устанавливается в базе данных.
Просто добавьте @product.id в свое поле.
В этом примере <% = f.number_field: product_id, @product.id% >
user740584 прав, пользователь не должен иметь возможность редактировать product_id.
Если вам действительно нужна эта форма, вы можете использовать
<%= f.hidden_field :product_id %>
вы можете сделать это, если хотите фиксированное значение
<%= f.number_field :product_id , value: @product.id %>
но проблема остается, если вы пытаетесь отредактировать ее позже, старое значение останется там, я не думаю, что это проблема в случае id.