首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >friendly-id -使用id访问资源,但显示slug

friendly-id -使用id访问资源,但显示slug
EN

Stack Overflow用户
提问于 2018-03-27 10:12:47
回答 1查看 131关注 0票数 1

目前我需要使用resource :id来加载页面,但我认为默认情况下显示友好的id :slug将是一个很好的尝试。我已经在使用norman/friendly-id

如果我访问

代码语言:javascript
复制
app.example.com/houses/1

我想让地址栏告诉我

代码语言:javascript
复制
app.example.com/houses/128-prinsep-st-singapore-1

friendly-id已经支持这个了吗?或者什么是做这件事的好方法?

EN

回答 1

Stack Overflow用户

发布于 2018-03-27 13:28:50

FriendlyId提供了"slug candidates“功能,使您可以指定要使用的备用slug在您要使用的slug已被占用的情况下使用。例如:

代码语言:javascript
复制
class Example < ActiveRecord::Base
  extend FriendlyId
  friendly_id :slug_candidates, use: :slugged

  # Try building a slug based on the following fields in
  # increasing order of specificity.
  def slug_candidates
    [
      :name,
      [:name, :city],
      [:name, :street, :city],
      [:name, :street_number, :street, :city]
    ]
  end
end

e1 = Example.create! name: 'Plaza Diner', city: 'New Paltz'
e2 = Example.create! name: 'Plaza Diner', city: 'Kingston'

e1.friendly_id  #=> 'plaza-diner'
e2.friendly_id  #=> 'plaza-diner-kingston'

希望这对你有用。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49503365

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档