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. :)
<p><%= f.number_field :product_id, :value => @product.id %></p>
plus de détails sur: NumberField
Juste:
<p><%= f.number_field :product_id, :value => @product.id %></p>
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.
Ajoutez simplement @ product.id à votre champ.
Dans cet exemple, <% = f.number_field: product_id, @ product.id%>
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 %>