4

在我的 Rails 应用程序中,用户可以创建一个注册表,并且 URL 是例如:

http://localhost:3000/registries/3

我怎样才能使该网址成为例如:

http://localhost:3000/erinwalker

提前致谢。

4

2 回答 2

4

最简单的方法是在您的 routes.rb 文件底部创建一个新路由:

match "/:username" => "registries#show"

将它放在您的 routes.rb 文件的底部很重要,因为这将匹配任何格式为“/whatever”的路由,它与它之前的路由不匹配。

这将指向您的注册表控制器的显示操作。所以在那个动作中你可以做

@user = User.find_by_username params[:username]
@registry = @user.registry
于 2012-06-14T19:54:18.303 回答
1

在IMO, friendly_id gem和其他 slugging gem 是最简单的方法。

(这是一个friendly_id railscast。

也就是说,很容易创建一个接受合法 slug 值的路由并自己重定向或查找它。

于 2012-06-14T19:31:27.920 回答