Rails 4 + Friendly_id: URL 未显示 slug

Rails 4 + Friendly_id: URL not showing slug

我在我的网站上使用 Friendly_ID 作为 slug 并且它正在工作......有点。我可以正确访问路由,但是当我跟随 link 到页面时,它仍然显示 id。例如,我有一个显示以下内容的 link:

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

将 url 显示为 localhost:3000/locations/1 所以我将 link 更改为:

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

正确显示 (localhost:3000/locations/X) 但是当您导航到其页面后查看 link 中的 href 时,它显示为 <a ... href="/locations/X.X">...</a> .

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

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