我试图将在Ruby 1.9.3上运行的Rails应用程序升级到Rails 4.2.0,并且我很难更新关联。
这里的代码我认为我应该使用
has_many :current_roles, -> (role){ where(job_id: role.id)}, class_name:'Role'
我已经在基本上所有关于关联和Rails 4.2的响应中看到了lambda的相同用法。
但我得到的是syntax error, unexpected '}', expecting keyword_end
我错过了什么吗?
由于
答案 0 :(得分:4)
在Ruby 1.9.3
中,箭头和stabby lambda中的参数括号之间不能有空格。所以,它应该是这样的:
has_many :current_roles, ->(role) { where(job_id: role.id)}, class_name:'Role'
如果可能,请使用较新版本的Ruby。
1.9.3。