1

URLをwhatever.com/users/1からwhatever.com/users/jamie.Surnameまたはwhatever.com/users/jamie-Surnameに変更しようとしています

最終的にはwhatever.com/jamie.surnameまたはwhatever.com/jamie-surnameに変更したいと思っていますが、単純なものから始めるのが最善だと思いました。

だから私は Friendly_id ジェムをインストールしました。

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

ただし、その URL にアクセスしようとすると、エラーが発生します。

ActiveRecord::UsersController の RecordNotFound#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

このアシキャストはあなたを助けるかもしれません -

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 に答える