Ruby on rails 3.2 在rails中实现虚拟概念

Ruby on rails 3.2 在rails中实现虚拟概念,ruby-on-rails-3.2,Ruby On Rails 3.2,我的问题比较笼统 我知道rails中的作用域,但我遇到了一个无法理解的概念 我在数据库中有一些表,如客户、产品、销售等,我有各种各样的销售人员登录查看他们的销售情况,等等。我想实现“我的”概念,因此当销售人员进来时,他们只能看到他们的销售情况、他们的客户、,他们销售的产品等等,比如我的客户、我的销售或我的领地等等 我如何实现这一点?我如何在客户、销售人员等身上加上“我的”前缀才能优雅地实现这一点 感谢您的指导 谢谢,您应该看看: 这是您用来关联和管理用户看到的内容,以及您在控制器/视图中访问这

我的问题比较笼统

我知道rails中的作用域,但我遇到了一个无法理解的概念

我在数据库中有一些表,如客户、产品、销售等,我有各种各样的销售人员登录查看他们的销售情况,等等。我想实现“我的”概念,因此当销售人员进来时,他们只能看到他们的销售情况、他们的客户、,他们销售的产品等等,比如我的客户、我的销售或我的领地等等

我如何实现这一点?我如何在客户、销售人员等身上加上“我的”前缀才能优雅地实现这一点

感谢您的指导


谢谢,

您应该看看:

这是您用来关联和管理用户看到的内容,以及您在控制器/视图中访问这些内容的方式。例如:

class Client < ActiveRecord::Base
  has_many :sales
end

class Sale < ActiveRecord::Base
  belongs_to :client
end

您应该看看activerecord模型。基本表协会应该能够轻松做到这一点。嗨,它的忍者-谢谢。当我登录时,我在会话中有了我的用户id,我知道user.first.sales可以获取该用户的所有销售-但问题是如何使用“my”而不是user.first-这使得它更加优雅和简洁。我找到了答案——我创建了一个名为“My”的类,并使用My_id_is attr_accessor——这样我就可以在其中设置我的用户id——然后我在其中编写了一个名为customers的方法——它根据我的id_is获取客户。所以现在,当我打电话给我的客户时,这种神奇的方法奏效了。不过,感谢您的关注。如果您不使用关联,这绝对是您应该考虑的,因为它们可以为您提供更多的灵活性,而不是您每次都要重新发明轮子。此外,实现返回当前用户的
current\u user
方法(即使是返回
user.find(session[:user\u id]
)这样的简单方法也是很常见的,并且该方法通常会在使用
My
模型的情况下使用(这似乎是一个相当冗余的模型,只会复制
用户
行为的一个子集)。
private

def my
  User.first
end