0

2 つの Web アプリケーションで 1 つのデータベースを共有しています。User モデルはこれらのアプリの 1 つで既に使用されているため、別のアプリにサインインするには、ユーザー情報が混在しないように別のモデルを作成する必要がありました。

SystemUser と呼ばれるこの新しいモデルで Devise を機能させることができました。問題は、すべての変数を別の名前で使用する必要があることです。例: current_system_usersystem_user_signed_in?など。アプリケーション全体でこれらの変数を元の名前で使用していますが、上書きを避ける方法があるかどうか知りたいです。current_user例:を返すというメソッドを作成し、current_system_user前述の他の変数を使用してそのようにします。

4

3 に答える 3

1

これでうまくいくはずだと思います:

devise_for :users, class_name: 'SystemUser'
于 2013-03-15T16:07:36.820 に答える
0

Deviseビューを再度生成することで、最終的に問題を解決できました。理由はわかりませんが、devise / sessionsフォルダーがなく、別のビューで実行していて、使い始めたときに動作していました。

とにかくありがとう。

于 2013-03-20T21:09:14.983 に答える
0

役割にCanCanを使用することを検討しましたか?

https://github.com/ryanb/cancan

于 2013-03-15T16:08:49.267 に答える