次のようなパスがある場合:
user_messages_path(current_user)
次の URL を生成します。
users/1/listings
データベースにユーザー固有のコードを保存しているので、次のような URL を表示したくありません。
users/ID/listings
しかし、もっと好き
users/CODE/listings
ユーザーのコードでパスを使用するためにルートを更新するにはどうすればよいですか?
ありがとう
次のようなパスがある場合:
user_messages_path(current_user)
次の URL を生成します。
users/1/listings
データベースにユーザー固有のコードを保存しているので、次のような URL を表示したくありません。
users/ID/listings
しかし、もっと好き
users/CODE/listings
ユーザーのコードでパスを使用するためにルートを更新するにはどうすればよいですか?
ありがとう
user_messages_path(current_user)
次のショートカットです。
user_messages_path(current_user.to_param)
これは一般的に次のことを行います。
user_messages_path(current_user.id)
あなたはできる:
必要な文字列を渡します。user_messages_path('foo')
to_param
またはモデルでオーバーライドする
パラメータからオブジェクトを取得するコードを更新するように注意してください。
のuser.rb
def to_param
uuid # or whatever attribute you want to use instead of the id
end
の代わりにコントローラーでUser.find(params[:id])
:
User.find_by_uuid!(params[:id]) # adjust to the attribute name used in to_param