我正在使用Friendly_id gem创建干净的网址,它工作得很好,但没有像这样的http://localhost:3000/profile/jack-sparo
这样的网址,我想要一个像http://localhost:3000/profile/1/jack-sparo
这样的网址,其中1
是{ {1}},我怎么能这样做?
这是我的配置/路线
user_id
这是我的个人资料控制器
get "profiles/show"
get '/profile/:id' => 'profiles#show', :as => :profile
get 'profiles' => 'profiles#index'
答案 0 :(得分:1)
我认为这很有效:
# change in config/routes.rb
get '/profile/:id(/:username)' => 'profiles#show', :as => :profile
# change in app/controllers/profile_controller.rb
@user= User.find(params[:id])
# add to app/models/user.rb
def to_param
"#{id}/#{username}"
end
其中username
是friendly_id用于生成slug的任何内容