2016-12-11 28 views
0

私は簡単なアプリケーションを作成しています。ここで、ユーザーはMySQLデータベースにデータを入力して保存できます。Devise:ユーザースコープを解決できません

データをuser1として保存するたびに、user2はすべてのuser1を見ることができ、他のユーザーは互いのデータを見ることができます。

モデルは、has_many、belongs_to、およびテーブルに表示される外部キーで設定されていますが、私は本当にこれで怒っています。

希望誰かが私に私はグループのセグメントにデータをやりたい何

+0

使用してヘルパーメソッドを考案役立つことを願ってい

def indedx @users = @current_account.users # this will only return the users associated with that account end 

に属していることを考慮 'ペドロcurrent_user' https://github.com/plataformatec/devise#controller-filters-and-helpers –

+0

こんにちは、私は問題を理解していない。ユーザーがそのデータを見たり表示したりしないようにしたい場合 – MZaragoza

答えて

1

は、アカウントにユーザーを設定することです

感謝を助けることができます。私のユーザーを検証するために

アカウントは多くのユーザーを持って、ユーザーがアカウントに属し

#model 
class Account < ActiveRecord::Base 
    has_many :users 
    ... 
end 

class User < ActiveRecord::Base 
    belongs_to :account 
    ... 
end 

今、通常のユーザーdeviseあなたapplication_controllerで今

あなたはこの

ような何かを行うことができます
#app/controllers/application_controller.rb 
before_filter :current_account 
def current_account 
    @current_account = current_user.account if current_user 
end 

ここで行う必要のあることは、それは私がこれは

+1

** application_controller.rb **の中で '@users = current_account.users' – Swards

+0

を意味すると思っています。実際には' current_user.account'はこれをしようとしています** current_account ** – MZaragoza

+0

あなたは 'current_account'メソッドを作ったので、あなたはそれを使いたいと思っています。 – Swards

関連する問題