2

如果可以的话,我想在 URL 中隐藏 user_id。

http://domain.com:3000/users/1

这是页面信息。


动作:显示控制器:用户 ID:'1'

4

3 回答 3

2

URL 中的 id 是必需的,以便控制器/操作知道它应该在页面上显示哪个用户。在这种情况下,它显示 id 为 1 的用户,但在其他情况下,您可能希望显示另一个用户的详细信息。

可以id将 URL 中的 替换为其他标识信息,例如username.

为此,请参阅http://railscasts.com/episodes/63-model-name-in-url。您只需覆盖to_param模型中的方法。

于 2012-09-04T00:25:46.133 回答
1

有一个新的 Railscast 使用了friendly_id,这是一个提供 URL 重命名的很棒的 gem: http ://railscasts.com/episodes/314-pretty-urls-with-friendlyid

于 2012-09-18T21:32:26.753 回答
0

去做这个。在您的用户模型中,确保您拥有:

is_sluggable :whatever-attribute-you-want-to-mask-users/1

在您的用户控制器中使用:

@user = User.find_using_slug(params[:user])
于 2012-09-04T06:38:20.277 回答