2011-07-04 64 views
1

我试图构建一个链接。生成的链接应该是这个样子:Rails link_to问题

http://localhost:3000/re_goal/edit/2 

这是我想出了:

<%= @issue.re_artifact_properties.collect { |properties| link_to properties.name, re_goal_path()}.to_sentence %> 

现在说我可能有暧昧路线。

content_url has the following required parameters: ["projects", :project_id, "re_goal", :id] 

但是如果我通过了PROJECT_ID作为一个选项,构建链接看起来是这样的:

http://localhost:3000/projects/1/re_goal/1 

不ANY1对如何构建正确的链接的想法?

感谢,

尼科

回答

2

看起来你已经在那里生成了一个嵌套的路线。提供所需的参数,或者删除嵌套的路线。

或去浅路线的“中间道路”:

resources :projects, :shallow => true do 
    resources :re_goal 
end 
+0

谢谢。这不完全是解决方案,但你的提示足以让我找到它:) – Nicolas

0

如果您有需要参数的路线,你必须提供他们。 rake routes可以作为确定参数需要什么,什么样的顺序,他们应该提供有用您的路线可能是这样的:

projects/:project_id/re_goal/:id 

在这种情况下,你需要提供project_idid作为两个参数re_goal_path 。如果你忽略它们,你会得到“必需的参数”错误。从你的问题中不清楚你如何从@issue获得项目或目标,但这就是你需要的。

+0

我的目标是这样的:http://pastie.org/private/sokt19xecb4sseujqb1hca的问题是,他似乎需要他不应该争论需要。我只想要目标/ 1 /编辑不是项目/ 1 /目标/ 1 /编辑,但他希望我通过项目ID。问题是没有得到所需的项目ID,这是直接保存在问题对象 – Nicolas