私はユーザーモデルを持っていて、それから個別のユーザー、例えばperson1がURLを持っています:www.myapp.com/person1
どうすればwww.myapp.com/users/person1
が表示されますか?それは何と呼ばれるでしょうか?Rails URLの質問
ありがとうございました!
私はユーザーモデルを持っていて、それから個別のユーザー、例えばperson1がURLを持っています:www.myapp.com/person1
どうすればwww.myapp.com/users/person1
が表示されますか?それは何と呼ばれるでしょうか?Rails URLの質問
ありがとうございました!
あなたroutes.rb
ファイル内のルートを定義する必要があります。しかし、あなたはこの種のルートが定義されている他のルートを上書きする可能性があることを知る必要があります。なぜなら、それはどんな文字列とも一致するからです。
あなたのユーザ名が正規表現に一致した場合、あなたがそうでなければ、それは確かに衝突し、制約
match "/:user" => "users#show", :constraints => { :user => /some-regexp/ }
としてそれを定義することができますし、あなたのルートファイルの最後の一つとして、このルートを設定することを忘れないでください他のルートと一緒に。
読むthis完全な参照のための
アプリに同じものの「2つの」ルートを追加します。
match "/:user" => "users#show"
を、あなたはparams[:user]
で与えられたユーザー名を取得します:
# Shorter url to show store items by tags
map.connect '/s/tags',
:controller => 'music',
:action => 'show_by_tags'
map.connect '/music/s/tags',
:controller => 'music',
:action => 'show_by_tags'
チェック 'ます。http:// guides.rubyonrails.org/routing.html'また、あなたの実装では、たとえば、ユーザーがユーザー名を'何を持っている場合は、少し曖昧になりますusers' ?あなたのアプリケーションのモデル名の1つと同じ名前ですか? – user482594
素晴らしい、ありがとう! – Connor