2010-06-10 3 views
0

Pour illustrer:itinéraire (RESTful) nommé pour des actions autres que l'index, supprimer, créer et modifier

class Customer 
    has_many :sales_orders 
end 

class SalesOrder 
    belongs_to :customer 
end 

je veux avoir le client à la liste sales_order qui est prêt à être envoyé, si i:

  1. mettre le routage http://.../sales_orders/can_be_delivered ou
  2. créer un nouveau contrôleur pour les rapports http://.../reports/sales_orders_can_be_delivered

pour le 1er, que devrait-on faire dans la route.rb?

pour le 2ème, rien ne va dans route.rb, on peut utiliser la dernière route définie qui est: contrôleur /: action .. < - mais ce nom ne figure pas la route

des idées pour ce genre de problème?

Répondre

1

Je voudrais aller avec la première option que la vue que vous voulez est juste une autre vue sur les commandes pour lesquelles vous avez déjà une ressource/contrôleur.

Les routes seraient:

map.resources: sales_orders,: collection => {: can_be_delivered =>: get}

Cela vous donnera .../sales_orders/can_be_delivered et les aides can_be_delivered_sales_orders_path + can_be_delivered_sales_orders_url

Side note

avec l'option: collection vous pouvez également ajouter :only => [:new, :create, :destroy] si pour examen Votre contrôleur n'a besoin que de nouvelles, créer et détruire des actions reposantes standard.

ps. Assurez-vous de mettre ceci ci-dessus attraper tout le chemin au fond que je vous recommande de commenter si toutes vos actions sont reposantes.

Enfin ce guide est un bon début pour le routage dans des rails:

http://guides.rubyonrails.org/routing.html

+0

merci. Je vais essayer d'y aller avec vos suggestions. Je vous remercie. – Hadi

+0

Pas de problème, bonne chance! – tsdbrown

Questions connexes