我分页了一些客户资料,我希望他们的资料页面 URL 是他们的名字。
例如,一个叫 John Doe 的人会有一个个人资料:
mydomain.com/profiles/johndoe
Run Code Online (Sandbox Code Playgroud)
如果有更多的 John Doe,那么我想让:
mydomain.com/profiles/johndoe1
mydomain.com/profiles/johndoe2
Run Code Online (Sandbox Code Playgroud)
我在这里阅读了有关动态路线的信息
但我不知道该怎么做。
谢谢你。
使用 url 中的通配符,您可以完成您的任务。输入config/routes.rb:
get '/profiles/:username', to: 'controller_name#action_name'
Run Code Online (Sandbox Code Playgroud)
现在params[:username]等于第一个示例中的“johndoe1”和第二个 url 示例中的“johndoe2”。所以你可以在你的控制器中,把
def show
@user = User.find_by_username(params[:username])
end
Run Code Online (Sandbox Code Playgroud)
它将根据用户名使用数据库记录填充@user。
注意:显然,我对您的设置做了一些相当大的假设,因此您将不得不根据自己的个人情况在这里和那里进行调整,但这应该会给您一个总体思路。
| 归档时间: |
|
| 查看次数: |
1484 次 |
| 最近记录: |