Ruby on rails 如何将帖子的id设置为其标题

Ruby on rails 如何将帖子的id设置为其标题,ruby-on-rails,Ruby On Rails,我猜这是相当明显的,但我已经搜索了一段时间,没有找到任何东西。所以我想做的是让链接的id与@link.product相同,我该怎么做呢。现在在我的链接控制器中 def create @link = Link.new(link_params) @link.id = @link.product end 但是我仍然有/links/5如何更改ID,使其显示为/links/product name?我建议在中使用友好的\u ID,它允许使用。使用slug查找 用法: 安装: 安装在导轨上

我猜这是相当明显的,但我已经搜索了一段时间,没有找到任何东西。所以我想做的是让链接的id与@link.product相同,我该怎么做呢。现在在我的链接控制器中

def create
    @link = Link.new(link_params)
    @link.id = @link.product
end

但是我仍然有/links/5如何更改ID,使其显示为/links/product name?

我建议在中使用友好的\u ID,它允许使用。使用slug查找

用法:

安装:

安装在导轨上

Link.rb


如果您想用产品名称替换URL中的id,那么我认为gem'friendly_id'会很有帮助。可能是
# both will be available
/links/5
/links/product-name
# in gemfile
gem 'friendly_id', '~> 5.1.0'
bundle install
rails generate friendly_id
rails g migration add_slug_to_links slug:string:uniq
rake db:migrate
class Link < ActiveRecord::Base
  extend FriendlyId
  friendly_id :product, use: :slugged
def create
    @link = Link.new(link_params)
    @link.save
end