【发布时间】:2016-07-28 23:16:42
【问题描述】:
我正在尝试学习如何在 Rails 中编写范围。
我有用户、组织和组织请求的模型。这些关联是:
User
has_one :organisation
Organisation
belongs_to :owner, class_name: 'User'
has_many :organisation_requests
Organisation_request
belongs_to :organisation
在我的组织请求模型中,我正在尝试编写一个范围来挑选出属于组织所有者的所有组织请求。
scope :same_org, where(:organisation_id => owner.organisation_id)
然后在我的 organization_requests 控制器中,我有:
def index
@organisation_requests = OrganisationRequest.same_org
end
我尝试了上述方法。所有者是用户的别名。在每个组织中,一个用户被指定为该组织的所有者。我希望该用户查看针对该所有者组织的组织请求的索引。
谁能看到我在这里做错了什么?我不了解如何编写范围。
【问题讨论】:
-
语法使用 lambda,正如 Hasmukh 的回答所示。见http://api.rubyonrails.org/classes/ActiveRecord/Scoping/Named/ClassMethods.html#method-i-scope
-
嘿,这个问题你解决了吗?
-
嗨@AndreyDeineko - 我仍在努力解决它。我还有另一个问题阻止我调用范围 - 所以我先解决这个问题。我有你的笔记,如果我能正常工作,我会更新以接受你的答案。感谢您的跟进。我学的很慢……
-
嘿,祝你好运!我们都已经开始一段时间了;)
标签: ruby-on-rails ruby scope