2010-08-18 14 views
0

Dans Rails 3, lorsqu'un échafaudage est généré par exemple pour une 'Catégorie', ce sera un categories_path (et un edit_category_path (@category), ...) utilisé dans les vues erb.Rails: comment les chemins sont-ils générés?

Ceci n'est pas une variable que l'on peut trouver n'importe où et probablement être générée. Cependant dans mon cas, pour une entité différente, Article, j'ai d'abord généré le modèle puis le contrôleur. Maintenant, quand j'essaie sortir un articles_path, je reçois un

méthode non définie de articles_path » pour # < #: 0x000001019d1be0>

Je ne peux même utiliser un <%= form_for(@article) do |f| %> car cela génère la même erreur.

Que suis-je censé faire?

Mes routages sont comme ça:

resources :categories do 
    resources :articles 
    end 

Répondre

0

Comme la vie de l'article dans le cadre de la catégorie, vous devez utiliser category_articles_path.

+0

Merci cela fait (avec l'allusion de vonconrad)! – Jan

1

La ressource articles se trouve dans la portée de la catégorie, donc le chemin correct à utiliser serait category_articles_path(@category) ou edit_category_articles_path(@category, @article). Pour faire ceci pour votre form_for, essayez:

<%= form_for([@category, @article]) do |f| %> 
+0

Merci beaucoup! J'ai donné la réponse à Toby, cependant, parce qu'il était le premier! – Jan