如何设置 has_and_belongs_to_many 与作用域和别名 class 的关系?
How to setup has_and_belongs_to_many relationship with a scoped and aliased class?
我尝试将角色关联到一个组(用户)。
角色 class 不存在,我使用参数 class 的摘录(范围)。我从 apidock.com 获得灵感,但无法使用范围实现该示例。
我将关系设置如下:
##group.rb
has_and_belongs_to_many :roles, :class_name => "Parameter", -> { where("parameters_list_id = ?", 13) }
##paramter.rb
has_and_belongs_to_many :groups
当我添加用于确定关系范围的 lambda 时,出现以下错误:
group.rb:39: syntax error, unexpected '\n', expecting =>
你能帮我解决这个问题吗?
感谢您的帮助。
为清楚起见更改了参数的顺序和缩进:
has_and_belongs_to_many :roles,
-> { where("parameters_list_id = ?", 13) },
:class_name => "Parameter"
选项总是在参数列表的末尾。散列有时可以出现在中间,但它们必须由 {}
分隔。只有哈希是最后一个参数时方括号才可以省略。
我尝试将角色关联到一个组(用户)。 角色 class 不存在,我使用参数 class 的摘录(范围)。我从 apidock.com 获得灵感,但无法使用范围实现该示例。 我将关系设置如下:
##group.rb
has_and_belongs_to_many :roles, :class_name => "Parameter", -> { where("parameters_list_id = ?", 13) }
##paramter.rb
has_and_belongs_to_many :groups
当我添加用于确定关系范围的 lambda 时,出现以下错误:
group.rb:39: syntax error, unexpected '\n', expecting =>
你能帮我解决这个问题吗?
感谢您的帮助。
为清楚起见更改了参数的顺序和缩进:
has_and_belongs_to_many :roles,
-> { where("parameters_list_id = ?", 13) },
:class_name => "Parameter"
选项总是在参数列表的末尾。散列有时可以出现在中间,但它们必须由 {}
分隔。只有哈希是最后一个参数时方括号才可以省略。