2016-07-05 51 views
1

我注意到我的导航/路由不工作,因为我认为它会在我在不同的控制器时。导轨路由不能按预期工作时,在另一个控制器

我的路线:

get 'help/version_history' => 'about_and_helps#version_history' 

这就是我如何链接到它:

<%= link_to "Version History", '/help/version_history' %> 

如果我表现出特定的投诉,然后尝试去菜单链接的版本历史,我得到一个错误。

您正在查找的页面不存在。
您可能错误地址或页面可能已移动。

URL是http://cctweb:9298/complaints/help/version_history

如果我投诉索引页,点击链接带我到正确的页面与http://cctweb:9298/help/version_history

回答

3

错误的URL在于相对论(也许是由于您提供的示例中的主要斜杠)。

为了简便,并遵循Rails的约定,我建议指定一个名称路线:

get 'help/version_history', to: 'about_and_helps#version_history', as: 'my_route_name' 

通知的as选项。这告诉这条路有一个名字,这在我的例子中,设置为my_route_name

路由器现在你可以用下面的链接:

<%= link_to "Version History", my_route_name_url %> 

这将需要的相关问题,关心和始终链接回该特定路线。即使您在路上改变路线的URI,所有内容仍然可以使用路线的名称。

更多选择 - 和实例 - 可以在Rails Routing Docs

+0

这是要走的路可以发现,其别名让使用者使用它们,有一天,如果你需要更改的链接,只有一个地方改变它.... – lcguida

+0

谢谢 - 这工作,现在我明白它好一点。 –