Rails:如何生成路径?
问题描述:
在Rails 3中,当例如为'Category'生成脚手架时,将会是erb视图中使用的categories_path(和edit_category_path(@category)...)。Rails:如何生成路径?
这不是一个可以在任何地方找到的变量,可能是生成的。然而就我而言,对于不同的实体,Article,我首先生成了模型,然后生成了控制器。现在,当我尝试输出articles_path,我得到一个
未定义的方法`articles_path”为#<#:0x000001019d1be0>
我甚至不能使用<%= form_for(@article) do |f| %>
,因为这产生了同样的错误。
我该怎么办?
我的路线是这样的:
resources :categories do
resources :articles
end
答
由于第生活类别的范围,你需要使用category_articles_path。
答
文章资源位于类别范围内,因此使用的正确路径为category_articles_path(@category)
或edit_category_articles_path(@category, @article)
。要做到这一点为您的form_for,请尝试:
<%= form_for([@category, @article]) do |f| %>
+0
非常感谢!不过,我给了Toby答案,因为他是第一个! – Jan 2010-08-18 12:29:09
谢谢你做到了(连同vonconrad的提示)! – Jan 2010-08-18 12:29:46