2011-09-11 26 views
1

他の誰かがこの質問をしてくれたか、私が幸運を覚えていないか探してみるために、数日前に検索しました。これは私がstackoverflowで尋ねた私の最初の質問です。サインアップ登録 - 初心者ユーザー

私は工夫セットアップを持っていると二つのモデルで完璧に動作...正しい方向に私を指すために誰かのために

を探しています - 管理者とユーザー。

私は管理者がワークショップやクラスを作成して、ワークショップに登録したり登録したりする必要があります。私はhas_many_and_belongs_to_manyかhas_manyを試してみるべきかどうかわかりません。これを解決するイベント登録宝石があるかどうかです。

いずれのポインタも大歓迎です。

答えて

2

これについて設定する方法はかなりあります。これを達成するために2つのデバイスモデルを作成する必要はありません。あなたは単一のUserモデルを持ち、それにrole属性を与えます。これを何らかの既知の役割、例えば "visitor"に設定します。

次に、Cancanまたはdecl_authのような単純なACLのインストールを検討できます。

これは、さまざまなコントローラのCRUDアクションへのアクセスを制御することができます。これは、 'authorise_resource'(これはRESTfulなafterallです)の意味です。もちろん、このような設定では、管理者は通常のユーザーよりも多くのオプションを表示します。

「古い」学校のアプローチは、namespace :adminをセットアップすることです。あなたのアプリで/admin/の下で処理されます。管理者とユーザーは、設定した共通のログインパスを使用してログインすることができます。

ただし、管理者とユーザー用の分割デベロッパーモデルを使用する利点があります。そのセッションは完全に分離されており、一部は「より安全」と考えている場合があります。セッションのハイジャックは、単一のモデル+ロールのアプローチではまだ自明ではありません。