0

有没有人在使用 subdomain-fu 更改domain.com/user/1为之前尝试过domain.com/UserName

是否有任何其他插件可以在 Rails 3 上实现这一点?

4

2 回答 2

1

您可以通过“覆盖”to_param用户模型中的方法来做到这一点。

假设您使用的是 User 模型,正如您所说,在其中放置一些这样的代码:

  #cleans up the url so it's purdy.
  def to_param
    loginName # you probably want login_name or just name, but whatever it's your code
  end

所以请注意,您现在必须更改您的 User#show 控制器调用,因为您确实在执行

User.find_by_name(params[:id] 

最后,我们应该能够更改路由,以便您的 routes.rb 文件中的最后一条路由显示:

match ':id' => 'users#show'

于 2010-12-24T23:23:56.653 回答
1

你想要的就是漂亮的 URL。看这里:Rails 中漂亮(过时的)RESTful URL

于 2010-12-24T18:20:04.930 回答