J'ai un problème avec la méthode form_for dans Rails. Il se comporte étrangement.form_for me donne la mauvaise url pour path_prefixes
J'ai un itinéraire avec un préfixe de chemin, quelque chose comme:
map.resources :beers, :path_prefix => '/:brewery'
Et je forme comme celui-ci (@ beer.brewery est une chaîne, juste le nom de la brasserie):
<% form_for @beer, :url => { :brewery => @beer.brewery } do |form|
--some fields
<% end %>
Il va définir l'action du formulaire à ceci pour un nouvel enregistrement.
/brewery_name/beers/new
et ceci pour un enregistrement existant.
/brewery_name/beers/1/edit
Quelqu'un sait pourquoi cela se produit ou comment le réparer?
--edit--
En ce moment je suis en train de résoudre ce comme celui-ci (pour un nouveau record):
<% form_for @beer, :url => beers_path(@beer.brewery) do |form| %>
et (pour un enregistrement modifié)
<% form_for @beer, :url => beer_path(@beer.brewery, @beer) do |form| %>
Mais Je veux le faire de la même manière pour les nouveaux et éditer, si c'est possible.
Acclamations, Thijs.
Non, ce n'est pas le cas. La partie brasserie est pour le préfixe, pas pour une ressource imbriquée. –