Rails 4:有什么方法可以修复/使用没有"link_to"的常规html href链接吗?



所以我的问题是,我有一个到"pages/home"的链接,我点击它,我会转到我的主页。

但之后我会尝试再次单击,但链接更改为"pages/pages/home",然后我会收到一个路由错误。有没有办法使用常规的旧锚标签来修复这个问题?还是我需要使用link_to?

编辑:这就是我将链接插入页面的方式。

<a href="pages/home">Home</a>

这与rails无关,问题是你使用了一个相对的url:

<a href="pages/home">Home</a>

这将导致<any_path_you're_in>/pages/home

要使其绝对,您必须使用(注意前导斜杠):

<a href="/pages/home">Home</a>

顺便说一句,在自己的rails应用程序中使用硬编码的url是一种非常糟糕的做法。您可以避免使用#link_to,同时仍然可以利用铁路的路线:

<a href="<%= home_path %>">Home</a>

当然,如果你有一条"回家"的路线:

get '/pages/home' => 'pages#home', as: 'home'

当你决定重组你的应用程序时,这将为你省去很多痛苦。

最新更新