Rails 4范围包括嵌套关联哈希

时间:2014-06-19 20:04:35

标签: ruby-on-rails ruby ruby-on-rails-4

在Rails 3中,我一直在使用以下包括范围(在模块中定义),它工作正常。

base.send :scope, :with_includes, { :include => {:questions => [:answers, :question_group, {:dependency => :dependency_conditions}]}}

这不再适用于Rails 4,因此我尝试将其转换为现在首选的lambda方法,如下所示。

base.send :scope, :with_includes, -> { includes(:questions => [:answers, :question_group, {:dependency => :dependency_conditions}]) }

这只会引发异常NoMethodError Exception: undefined method includes

1 个答案:

答案 0 :(得分:1)

尝试使用lambda中的base.includes(...)

基本上,你的lambda中捕获的self不是你的记录类:它是scope send(t)的地方。