Ruby 如何在多个关联中使用Lambda

Ruby 如何在多个关联中使用Lambda,ruby,ruby-on-rails-4,Ruby,Ruby On Rails 4,我正在尝试将一个运行在Ruby 1.9.3上的Rails应用程序升级到Rails 4.2.0,我很难更新关联 这里是我认为应该使用的代码 has_many :current_roles, -> (role){ where(job_id: role.id)}, class_name:'Role' 我在这里看到的所有关于关联和Rails4.2的回复中基本上都使用了lambda 然而,我得到的是语法错误,意外的“}”,期望关键字\u end 我错过什么了吗 在Ruby 1.9.3中,箭头和参数

我正在尝试将一个运行在Ruby 1.9.3上的Rails应用程序升级到Rails 4.2.0,我很难更新关联

这里是我认为应该使用的代码

has_many :current_roles, -> (role){ where(job_id: role.id)}, class_name:'Role'
我在这里看到的所有关于关联和Rails4.2的回复中基本上都使用了lambda

然而,我得到的是语法错误,意外的“}”,期望关键字\u end

我错过什么了吗

在Ruby 1.9.3中,箭头和参数括号之间不能有空格。所以,它应该是这样的:

has_many :current_roles, ->(role) { where(job_id: role.id)}, class_name:'Role'
如果可能,请使用更新版本的Ruby。1.9.3不再受支持。

在Ruby 1.9.3中,箭头和参数括号之间不能有空格。所以,它应该是这样的:

has_many :current_roles, ->(role) { where(job_id: role.id)}, class_name:'Role'

如果可能,请使用更新版本的Ruby。1.9.3不再受支持。

谢谢。我计划在升级到Rails 4.2之后再升级到Ruby 2.2.3。谢谢。我计划在升级到Rails4.2之后再升级到Ruby 2.2.3。