让我们假装SQL确实不能简化为Arel。并非一切都可以,而且我们碰巧真的想保留自定义的find_by_sql,但我们也想使用include。
然后preload_associations是您的朋友:(已针对Rails 3.1更新)
class Person def self.custom_query friends_and_family = find_by_sql("SELECt * FROM people")# Rails 3.0 and lower use this: # preload_associations(friends_and_family, [:car, :kids])# Rails 3.1 and higher use this: ActiveRecord::Associations::Preloader.new(friends_and_family, [:car, :kids]).run friends_and_family endend请注意,3.1方法要好得多,b / c您可以随时应用eager-
loading。因此,您可以在控制器中获取对象,然后在呈现之前,可以检查格式并渴望加载更多关联。对我来说,这就是发生的事情-
html不需要急切的加载,但是.json却需要。
这种帮助?



