所以我的问题是,我有一个到"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'
当你决定重组你的应用程序时,这将为你省去很多痛苦。