web-dev-qa-db-fra.com

Comment ajouter une valeur par défaut à un champ number_field dans des rails?

J'ai créé un formulaire

<%= 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 %>

Dans le champ: product_id, je veux ajouter @ product.id par défaut, comment le mettre en œuvre? S'il vous plaît . Merci d'avance. :)

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

plus de détails sur: NumberField

65
Rajarshi Das

Juste:

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

Je suppose que l'enchère appartient au produit. Par conséquent, product_id ne doit absolument pas être visible sur le formulaire. En tant que numéro d'identification, cela n'a pas de sens et il doit être défini sur le bon produit pour toutes les offres.

L'action sur le formulaire signifiera automatiquement qu'il est correctement défini dans la base de données.

2
user740584

Ajoutez simplement @ product.id à votre champ.

Dans cet exemple, <% = f.number_field: product_id, @ product.id%>

0
Navazish

user740584 a raison, l'utilisateur ne doit pas pouvoir modifier l'id du produit.

Si vous en avez vraiment besoin sur votre formulaire, vous pouvez utiliser un 

<%= f.hidden_field :product_id %>
0
s01ipsist