Ruby on rails: unique ressource et form_for

Je veux utilisateur de travailler avec une seule commande connecté à la session de l'utilisateur. J'ai donc mis unique ressource pour l'ordre

routes.rb:

resource :order

vues/commandes/nouveau.html.erb:

<%= form_for @order do |f| %>
   ...
<% end %>

Mais quand j'ai ouvert la nouvelle page de commande, j'obtiens une erreur:

undefined method `orders_path`

Je sais, que je peux :url => order_path dans form_for, mais quel est le vrai moyen de résoudre cette collision?

  • Je ne suis pas sûr si je comprends pourquoi vous n'utilisez pas de singulier pour votre ressource
  • Parce que les rails de guide de conseils pour utiliser le pluriel du contrôleur. Mais dans la forme singulière de contrôleur existe même bug...
  • Si vous avez juste un singulier imbriquée des ressources qui vous donne des problèmes, vous pouvez utiliser form_for [@user, :subscription, @payment] pour générer des chemins pour user_subscription_payment_path(@user, @payment) avec les chemins comme action="/users/21/subscription/payments/29".
InformationsquelleAutor petRUShka | 2010-09-17