Rails:Has_many ...通过语法问题使用Where Scope

时间:2014-06-14 19:41:14

标签: ruby-on-rails ruby-on-rails-4 has-many-through

所以我有两个模型usersservicesUsers check基本为service添加了书签user.checks,因此我想通过where访问它们。现在用户和服务之间可能存在不同的关系,这就是我放置relationship_type子句以确保check has_many :checks, through: :user_services, source: :service, dependent: :destroy, -> { where relationship_type: 'check' } 的原因。

守则

/app/models/user.rb:21: syntax error, unexpected '\n', expecting =>

错误

{{1}}

这是一个语法问题,我无法弄明白!

1 个答案:

答案 0 :(得分:1)

将哈希作为参数传递给方法时,只有当哈希值是传递的最后一个(或唯一)参数时,才能禁止{}。在这种情况下,您在它之后传递lamba,因此必须将哈希显式写为

has_many :checks, { through: :user_services, source: :service, dependent: :destroy }, -> { where relationship_type: 'check' }