【问题标题】:Rails 4 + Friendly_id: URL not showing slugRails 4 + Friendly_id:URL 不显示 slug
【发布时间】:2016-06-14 15:31:44
【问题描述】:

我在我的网站上使用Friendly_ID 处理蛞蝓,它正在工作......有点。我可以正确访问路线,但是当我点击页面链接时,它仍然显示 id。例如,我有一个显示以下内容的链接:

<%= link_to "X", location_path(@location, :id => "1")

将网址显示为localhost:3000/locations/1,因此我将链接更改为:

<%= link_to "X", location_path(@location, :id => "X")

正确显示 (localhost:3000/locations/X) 但当您在导航到其页面后查看链接的 href 时,它显示为 &lt;a ... href="/locations/X.X"&gt;...&lt;/a&gt;

为什么链接显示的是X.X而不是简单的X

【问题讨论】:

    标签: ruby-on-rails friendly-url slug friendly-id


    【解决方案1】:

    您无需将id 传递给location_path。将从@location 获取。从location_path 中删除id,它应该可以解决问题。

    【讨论】:

    • 这样做时出现以下错误:No route matches {:action=&gt;"show", :controller=&gt;"locations", :id=&gt;nil} missing required keys: [:id]。我在主页上有这个链接,有多个位置,所以@location 不知道要链接到哪个`位置
    • 你如何设置@location 值。如果您添加控制器代码,将有助于进一步审查。
    • 我最终在控制器中纠正了这个问题,为每个位置声明了一个不同的变量,并在路径中调用它
    猜你喜欢
    • 2015-01-17
    • 2018-09-13
    • 2015-08-15
    • 2016-11-28
    • 2013-09-11
    • 1970-01-01
    • 2016-02-02
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多