2010-12-29 12 views
5

ユーザーは2種類あります。会社と労働者。Deviseでさまざまなユーザーの種類に取り組む方法

ユーザーが1人しかいない場合、どのように管理するのですか?

私はCompanyとWorkerの2つの登録ページを作成したいと思いますが、ユーザーなどのユーザー情報を格納する1つのテーブルのみが必要です。

答えて

7

」まだ十分な担当者がいない。

にリンクされているcodevoiceドキュメントから

:あなたが(例えば、「ユーザー」と 「管理者」のような)あなたの アプリケーションで複数の役割を持っている場合は、あなたが考案 が同じを使用していることに気づくでしょう

すべてのロールのビュー。 幸いにも、Deviseは簡単な方法でビューをカスタマイズします。 する必要があるのは、 "config/initializers/devise.rb"内にある "config.scoped_views = true" です。

そうしたら、 は、「新しい管理者/セッション/」 「新規ユーザー/セッション/」と などの役割に基づいた見解を持っていることができるようになります。スコープ内に表示されている のビューがない場合、 はデフォルトビューの "devise/sessions/new"を使用します。また スコープ ビューを生成するために発電機を使用することができます。モデルを考案するので、それはすべてのためのビューの1セットを持つことが可能です...

を、単に* /工夫/セッションでそれらを置きます。

0

最初に準備したモデル、その後 だけdevise_forを登録両モデル路線で

devise_for :companies 
devise_for :workers 

ここ

あなたが持っている例:devise manual github

私はcodevoiceの十分な応答にコメントしたいが、私はドン
+0

私はビューで何をすべきですか? 2ログインページではありませんか? <%ならcompany_signed_in? %> <%= current_company.email%>としてサインインされています。あなたじゃない? <%=のlink_to "サインアウト"、destroy_company_session_path%> <% else %> <%=のlink_to "サインアップ"、new_company_registration_path%>または<%=のlink_to "サインイン"、new_company_session_path%> <% end %>私は1つのだけ、ログインページ –

+0

をしたいですあなたは 'current_companyzと' current_worker'などを持っています... 'rake routes | grep session'を実行してパスを見つけます – codevoice

+0

1ログインページを作成して、ワーカーと会社としてログインするにはどうしたらいいですか?私はそれらを別々にしたくない。 –

関連する問題