将domain.com/user/1映射到domain.com/loginName

时间:2010-12-24 18:11:41

标签: ruby-on-rails-3 subdomain-fu

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

还有其他任何插件可以在rails 3上实现吗?

2 个答案:

答案 0 :(得分:2)

您可以通过“覆盖”用户模型中的to_param方法来执行此操作。

假设您正在使用用户模型,正如您所说的那样在其中添加了一些代码:

  #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 controller调用,因为您确实正在执行

User.find_by_name(params[:id] 

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

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

答案 1 :(得分:1)

你想要的是漂亮的URL。看看这里:Pretty (dated) RESTful URLs in Rails