从 Rails 博客文章链接到 Rails 站点内的文章会生成文章/文章/文章名称路径
Posted
技术标签:
【中文标题】从 Rails 博客文章链接到 Rails 站点内的文章会生成文章/文章/文章名称路径【英文标题】:Linking to a post within Rails site from a Rails blog post produces posts/posts/article-name path 【发布时间】:2019-01-02 13:40:46 【问题描述】:我是一个相当新的开发人员 ~ 1 年,我在 Rails 中建立了一个博客网站。
我有一个设置,如果我从主页点击帖子,它会转到 www.example.com/posts/article-name。
我决定为我的“联系”和“关于我”页面制作博客文章,然后在我的 layouts/_navbar.html.erb 文件中使用此语法从导航栏中链接到它们:
<li class="nav-item">
<%= link_to 'About', "posts/about-me", class: "nav-link #yield(:about_active)" %>
</li>
当我从主页单击“关于”链接时,它工作正常,将我带到 www.example.com/posts/about-me
但是,如果我在一篇博客文章中并单击“关于”页面,它会将我带到 www.example.com/posts/posts/about-me
我对如何解决这个问题有点迷茫。我什至尝试对链接进行硬编码,但这似乎不起作用。任何帮助将不胜感激。
【问题讨论】:
你为什么不再次通过guides.rubyonrails.org/routing.html#path-and-url-helpers! 【参考方案1】:关于绝对路径和相对路径,您需要了解一些事情。
相对路径是你尝试过的。
试试绝对路径
<%= link_to 'About', "/posts/about-me", class: "nav-link #yield(:about_active)" %>
【讨论】:
就像 Nithin 建议的那样,您忘记了路径开头的/
,这使它成为相对的。这样做可以解决您的问题。更好的做法是使用 rails path helpers 而不是硬编码你的 url。
啊,我明白了。我没有注意到前面的 /。谢谢尼廷!以上是关于从 Rails 博客文章链接到 Rails 站点内的文章会生成文章/文章/文章名称路径的主要内容,如果未能解决你的问题,请参考以下文章
NGINX +带Rails的乘客+ Wordpress固定链接