Ruby on rails 创建动态URL和路由

Ruby on rails 创建动态URL和路由,ruby-on-rails,Ruby On Rails,我页面的一些客户资料,我想他们的个人资料页面的URL的是他们的名字 例如,一个叫John Doe的人会有一个个人资料: mydomain.com/profiles/johndoe 如果还有更多的约翰·多伊,那么我想: mydomain.com/profiles/johndoe1 mydomain.com/profiles/johndoe2 我在这里读过动态路线 但我不知道怎么做 谢谢。通过url中的通配符,您可以完成任务。在config/routes.rbput中: get '/prof

我页面的一些客户资料,我想他们的个人资料页面的URL的是他们的名字

例如,一个叫John Doe的人会有一个个人资料:

mydomain.com/profiles/johndoe
如果还有更多的约翰·多伊,那么我想:

mydomain.com/profiles/johndoe1

mydomain.com/profiles/johndoe2
我在这里读过动态路线

但我不知道怎么做


谢谢。

通过url中的通配符,您可以完成任务。在
config/routes.rb
put中:

get '/profiles/:username', to: 'controller_name#action_name'
现在,
params[:username]
在第一个示例中等于“johndoe1”,在第二个url示例中等于“johndoe2”。这样你就可以在你的控制器里

def show
  @user = User.find_by_username(params[:username])
end
它将根据用户名向@user填充数据库记录


注意:很明显,我对你的设置做了一些很大的假设,所以你必须在这里和那里为你的个人情况做一些事情,但这应该给你一个大致的想法。

在url中有通配符,你可以完成你的任务。在
config/routes.rb
put中:

get '/profiles/:username', to: 'controller_name#action_name'
现在,
params[:username]
在第一个示例中等于“johndoe1”,在第二个url示例中等于“johndoe2”。这样你就可以在你的控制器里

def show
  @user = User.find_by_username(params[:username])
end
它将根据用户名向@user填充数据库记录


注意:很明显,我对您的设置做了一些很大的假设,因此您必须为自己的个人情况在这里和那里仔细考虑,但这应该会给您一个大致的想法。

谢谢。成功了!实际上,我没有这个字段用户名,只有名字和姓氏,但我按照你的建议创建了一个新的字段用户名。谢谢。成功了!实际上,我没有这个字段用户名,只有名字和姓氏,但我按照你的建议创建了一个新的字段用户名。