2009-09-12 6 views
0

私はRailsを使用しており、新しいユーザーを作成するためのユーザーコントローラがあります。railsでmyside.com/USER_IDを使ってユーザープロファイルページにアクセスする方法

mysite.com/USER_ID

ことをacheiveする最良の方法は何ですか:私は変更したい

mysite.com/users/USER_ID

:現在のユーザーを表示するには、私のようなものを入力する必要がありますか?

おかげで、

タム

答えて

2

生成された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, '-')}" 
+1

方法。 "#{id} - #{username.parameterize}" – erik

+0

良い方法ですが、前にチェックアウトしていません。最新のRailsアップデートの1つですか? – Yaraher

0

あなたが

map.user '/:id', :controller => 'users', :action => 'show' 

ように設定/ routes.rbをして新しいルートを定義し、showメソッドを実装する必要があります - あなたのユーザーIDがになりますparams[:id]

関連する問題