Rails:如何生成路径?

时间:2010-08-18 00:05:50

标签: ruby-on-rails templates erb

在Rails 3中,当为“类别”生成脚手架时,将在erb视图中使用categories_path(和edit_category_path(@category),...)。

这不是可以在任何地方找到并且可能生成的变量。但是在我的情况下,对于另一个实体Article,我首先生成模型然后生成控制器。现在,当我尝试输出articles_path时,我得到了一个

  

#<#:0x000001019d1be0>

的未定义方法`articles_path'

我甚至无法使用<%= form_for(@article) do |f| %>,因为这会产生相同的错误。

我应该做什么?

我的路线是这样的:

  resources :categories do
    resources :articles
  end 

2 个答案:

答案 0 :(得分:1)

文章资源属于类别范围,因此正确使用的路径为category_articles_path(@category)edit_category_articles_path(@category, @article)。要为您的form_for执行此操作,请尝试:

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

答案 1 :(得分:0)

由于文章位于类别范围内,您需要使用 category_articles_path