サインアップしてログインするユーザーがいます。
現在、彼らのルートはRails標準の「user/3」です。
ユーザーは組織に属しています。組織には多くのユーザーがいます。
その組織のすべてのユーザーがサインインするときに、URLhttp ://mysite.com/:organizationnameを使用するようにします。
どうすればこれを達成できますか?
サインアップしてログインするユーザーがいます。
現在、彼らのルートはRails標準の「user/3」です。
ユーザーは組織に属しています。組織には多くのユーザーがいます。
その組織のすべてのユーザーがサインインするときに、URLhttp ://mysite.com/:organizationnameを使用するようにします。
どうすればこれを達成できますか?
認証がどのように設定されているか、または認証を処理するために何を使用しているかはわかりませんが、おそらくユーザーが正常にログインしたら、ログインアクションでリダイレクトを変更するだけです。何かのようなもの:
redirect_to user.organization
それ以外のredirect_to user
ネストされたリソースを参照する必要があります。http://guides.rubyonrails.org/routing.html#nested-resourcesをご覧ください
更新:より適切な答え
これはあなたのシナリオに適していると思いますhttp://api.rubyonrails.org/classes/ActionDispatch/Routing/Mapper/Scoping.html#method-i-scope
あなたはこのようなことをしなければなりません...
最初に組織モデルにメソッドを追加して、URL の ID の代わりに名前を表示します
def to_param
name
end
必要に応じてルートを更新し、その組織のユーザーを表示する機能も備えています
組織管理者..
def show
@organization = Organization.find(params[:organization])
@users = @organization.users
end
ログイン後にユーザーをユーザー組織の表示パスにリダイレクトします。