RoR form_for: champ Caché n'est pas inclus dans le paramètre de l'objet et donc ne fonctionne pas.
Je suis en utilisant un formulaire pour ajouter une entrée, et j'ai besoin d'envoyer l'id de l'utilisateur courant le long avec les paramètres en entrée. Voici mon code du formulaire:
<% form_for(@entry) do |f| %>
<%= f.error_messages %>
<%= hidden_field_tag 'user_id', current_user.id %>
<p>
<%= f.label :date %><br />
<%= f.date_select :date %>
</p>
<p>
<%= f.label :note %><br />
<%= f.text_field :note %>
</p>
<p>
<%= f.submit 'Create' %>
</p>
<% end %>
Le problème est que user_id est enregistré comme la valeur null. J'ai remarqué à la sortie de la console ci-dessous que user_id est présent, mais ce n'est pas vraiment situé dans l'entrée les paramètres de l'objet. Comment puis-je résoudre ce problème? Merci pour la lecture.
Processing EntriesController#create (for 127.0.0.1 at 2010-07-09 19:57:55) [POST]
Parameters: {"commit"=>"Create", "action"=>"create", "user_id"=>"3", "entry"=>{"date(1i)"=>"2010", "date(2i)"=>"7", "date(3i)"=>"9", "note"=>"bb"}, "controller"=>"entries"}
Entry Create (0.4ms) INSERT INTO "entries" ("entry_id", "created_at", "updated_at", "date", "user_id", "note") VALUES(NULL, '2010-07-09 09:57:55', '2010-07-09 09:57:55', '2010-07-09', NULL, 'bb')
Redirected to http://localhost:3000/entries/7
Completed in 24ms (DB: 0) | 302 Found [http://localhost/entries]
OriginalL'auteur ben | 2010-07-09
Vous devez vous connecter pour publier un commentaire.
Autres réponses sont écrites pour Rails 2. Les Rails 3 adaptation de Salil la réponse utilise ce format:
OriginalL'auteur Eric Hu
UTILISATION
AU LIEU DE
Explication:-
Dans le contrôleur probablement vous faire quelque chose comme follwing
De sorte que vous avez à l'un des suivants (othere que celui que je mentionne ci-dessus)
ou
<%= f.hidden_field :user_id, :value => current_user.id %>
vous devez envoyer votre commentaire est une réponse, à chaque fois que j'ai besoin pour ce faire je vous référant à votre commentaire!
Fait! Espérons que cette aide!
OriginalL'auteur Salil
Pour les Rails 4 utilisation:
OriginalL'auteur xhenryx14
inclure le champ caché avec votre objet form builder 'f'
OriginalL'auteur Suman Mukherjee