1

我正在尝试将我的网址从whatever.com/users/1 更改为whatever.com/users/jamie.Surname 或whatever.com/users/jamie-Surname

我很想最终更改为whatever.com/jamie.surname 或whatever.com/jamie-surname,但我认为最好从简单开始。

所以我安装了friendly_id gem,从简单的开始我试着让它路由到我的名字;

class User < ActiveRecord::Base
      extend FriendlyId
      friendly_id :first_name

但是,当我尝试访问该网址时,我收到了错误;

ActiveRecord::RecordNotFound in UsersController#show

找不到没有 ID 的用户

应用程序跟踪 | 框架跟踪 | 完整跟踪 app/controllers/users_controller.rb:22:in `show'

请求参数:{"id"=>"jamie"}

这一行是我的 users_controller 中抛出错误的方法

def show
    @user = User.find(params[:id])
        respond_to do |format|
        format.html 
        format.json { render json: @user }
    end
end

我似乎无法找到解决此问题的方法。

任何帮助或建议/推动正确方向将不胜感激。

4

1 回答 1

2

这个 asciiccast 可以帮助你 -

http://railscasts.com/episodes/314-pretty-urls-with-friendlyid?view=asciicast

另请注意,重要的是要注意您使用的是哪个 FriendlyId 版本。

检查此问题:

https://github.com/norman/friendly_id/issues/146

于 2013-01-09T13:53:27.050 回答