J’ai lu ceci , mais je suis nouveau sur RoR, donc j’ai un peu de mal à le comprendre. J’utilise un formulaire pour créer un nouvel enregistrement de demande et toutes les variables que j’ai besoin d’envoyer existent déjà. Voici les données que je dois envoyer (ceci est dans une boucle do):
:user_id => w[:requesteeID] :requesteeName => current_user.name :requesteeEmail => current_user.email :info => e
Voici mon formulaire, qui fonctionne jusqu’à présent, mais envoie uniquement des valeurs NULL pour tout:
requests_path) do |f| %>
Comment utiliser hidden_fields pour envoyer les données que j’ai déjà? Merci d’avoir lu.
Ref hidden_field ou hidden_field_tag
<% form_for(:request, :url => requests_path) do |f| %> <%= f.hidden_field :some_column %> <%= hidden_field_tag 'selected', 'none' %> <%= f.submit e %> <% end %>
puis dans le contrôleur
params[:selected]="none" params[:request][:some_column] = request.some_column
Notez quand vous avez utilisé
<%= f.hidden_field :some_column %>
il change en html
et quand vous avez utilisé
<%= hidden_field_tag 'selected', 'none' %>
il change en html
Vous pouvez envoyer une valeur personnalisée comme entrée masquée pour votre modèle, comme ceci:
<%= f.hidden_field :version, value: 12 %>