私はRailsを使用しており、新しいユーザーを作成するためのユーザーコントローラがあります。railsでmyside.com/USER_IDを使ってユーザープロファイルページにアクセスする方法
mysite.com/USER_ID
ことをacheiveする最良の方法は何ですか:私は変更したい
mysite.com/users/USER_ID
:現在のユーザーを表示するには、私のようなものを入力する必要がありますか?
おかげで、
タム
私はRailsを使用しており、新しいユーザーを作成するためのユーザーコントローラがあります。railsでmyside.com/USER_IDを使ってユーザープロファイルページにアクセスする方法
mysite.com/USER_ID
ことをacheiveする最良の方法は何ですか:私は変更したい
mysite.com/users/USER_ID
:現在のユーザーを表示するには、私のようなものを入力する必要がありますか?
おかげで、
タム
生成されたURLを少し改善するために、Userモデルにto_paramメソッドを追加して、次のようなものを取得することもできます。
def to_param
"#{id}-#{username}"
end
map.users '/:id', :controller => 'users', :action => 'show'
http://yourdomain.com/142-yaraher
このようにしても、Railsは(param [:id]で.to_iを呼び出して)正常に動作し、より良いURLを取得できます。
あなたが使用する方法から、いくつかの特殊文字を削除する必要があり、それが何か可能性が高い必要がある点に注意してください。不要な文字を削除するより良い方法は、文字列#のパラメータ化を使用することです
"#{id}-#{n.downcase.gsub(/[^a-z1-9]+/i, '-')}"
あなたが
map.user '/:id', :controller => 'users', :action => 'show'
ように設定/ routes.rbをして新しいルートを定義し、showメソッドを実装する必要があります - あなたのユーザーIDがになりますparams[:id]
方法。 "#{id} - #{username.parameterize}" – erik
良い方法ですが、前にチェックアウトしていません。最新のRailsアップデートの1つですか? – Yaraher