J'ai une question en deux parties sur form_for et imbriqués de ressources. Disons que je suis en train d'écrire un moteur de blog et je voudrais rapporter un commentaire à un article. J'ai défini un ensemble de ressources comme suit:
map.resources :articles do |articles|
articles.resources :comments
end
Le formulaire de commentaires est dans le spectacle.html.erb vue pour les articles, en dessous de l'article lui-même, par exemple comme ceci:
<%= render :partial => "articles/article" %>
<% form_for([ :article, @comment]) do |f| %>
<%= f.text_area :text %>
<%= submit_tag "Submit" %>
<% end %>
Cela donne une erreur", a Appelé l'id de néant, qui aurait, à tort, etc." J'ai aussi essayé
<% form_for @article, @comment do |f| %>
Qui s'affiche correctement, mais se rapporte f.text_area à l'article " champ de texte au lieu de le commenter, et présente le code html de l'article.attribut de texte dans cette zone de texte. Donc, il me semble avoir ce mal que de bien. Ce que je veux, c'est une formule dont le "soumettre" va appeler l'action de création sur CommentsController, avec une valeur contenue dans les paramètres, par exemple une requête post /articles/1/commentaires.
La deuxième partie de ma question est, quelle est la meilleure façon de créer le commentaire de l'instance pour commencer? Je suis de la création d'un @commentaire à la fin de l'action du contrôleur d'articles articlescontroller, donc un objet commentaire sera dans le champ de la form_for helper. Ensuite, dans l'action de création de la CommentsController, je vais créer de nouveaux @commenter en utilisant les paramètres transmis à partir de la form_for.
Merci!