设计:无法解决用户范围

时间:2016-12-11 23:35:46

标签: ruby-on-rails ruby devise

我正在创建一个简单的应用程序,用户可以在MySQL数据库中填充并保存一些数据。

每次我将数据保存为user1时,user2都可以看到所有user1和其他用户可以看到彼此的数据。

模型设置正常,有has_many和belongs_to,外键出现在表格上,但我真的很生气。

希望有人可以帮助我

由于

1 个答案:

答案 0 :(得分: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

现在您所要做的就是将数据范围限定为它所属的帐户

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

我希望这有助于