Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/google-chrome/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 在rails中填写表单时生成slug的最佳方法?_Ruby On Rails_Ruby - Fatal编程技术网

Ruby on rails 在rails中填写表单时生成slug的最佳方法?

Ruby on rails 在rails中填写表单时生成slug的最佳方法?,ruby-on-rails,ruby,Ruby On Rails,Ruby,我有一个叫做“用户”的设计模型和另外两个叫做“客户”和“卖方”的模型。当新用户注册时,他们必须选择是客户还是卖家(如果不选择,他们无法继续)。然后,如果他们选择“客户”,他们会填写客户表格。如果选择“卖方”,则填写卖方表格。提交表格后,如果他们选择了卖家,他们将进入卖家档案页面;如果他们选择了客户,他们将进入客户档案页面 那只是一些背景。让我们以一个客户机为例。假设他们是第22位填写表格的客户。所以他们成了22号客户。因此,他们的个人资料URL如下所示: http://localhost:300

我有一个叫做“用户”的设计模型和另外两个叫做“客户”和“卖方”的模型。当新用户注册时,他们必须选择是客户还是卖家(如果不选择,他们无法继续)。然后,如果他们选择“客户”,他们会填写客户表格。如果选择“卖方”,则填写卖方表格。提交表格后,如果他们选择了卖家,他们将进入卖家档案页面;如果他们选择了客户,他们将进入客户档案页面

那只是一些背景。让我们以一个客户机为例。假设他们是第22位填写表格的客户。所以他们成了22号客户。因此,他们的个人资料URL如下所示:

http://localhost:3000/client/22
http://localhost:3000/client/client-name
class Client < ActiveRecord::Base
  extend FriendlyId
  friendly_id :name, use: :slugged
end    
有几个人告诉我,这样向公众显示他们的id是不好的做法,我应该生成一个“slug”来显示,而不是显示他们的客户id。类似这样:

http://localhost:3000/client/22
http://localhost:3000/client/client-name
class Client < ActiveRecord::Base
  extend FriendlyId
  friendly_id :name, use: :slugged
end    
我该怎么做呢?我只需要更改URL上的显示。非常感谢

您可以使用一个名为gem的工具来实现这一点

您的模型应该是这样的:

http://localhost:3000/client/22
http://localhost:3000/client/client-name
class Client < ActiveRecord::Base
  extend FriendlyId
  friendly_id :name, use: :slugged
end    
class客户端
查看指南以获取帮助