[英]Ruby on Rails and eager loading model associations (to include or not to include)?
[英]Rails include model associations
有没有一种方法可以加载模型关联而不会急于加载? 我试图将包含模型关联的对象推送到浏览器。
push_to_user
将@todo
对象推@todo
浏览器。 一个javascript侦听器将读取数据并打印出来。
我遇到的问题是@todo
不包含其模型关联(例如“类别”)。 我该如何收录?
@todo = Todo.find(1)
puts @todo.item.categories # eager load categories. works
# push object to pusher
Pusher.push_to_user(@todo, user)
# custom pusher method
def self.push_to_user(todo, user)
Pusher['private-1'].trigger('activity', {:todo => todo, :user => user})
end
# Browser
console.log(todo) # categories are missing
谢谢皮特
我认为最好使用以下类别添加新密钥:
def self.push_to_user(todo, user)
Pusher['private-1'].trigger('activity', {:todo => todo, :categories => todo.categories, :user => user})
end
您可以使用:include => categories
在待办事项上调用#serializable_hash
方法。
def self.push_to_user(todo, user)
Pusher['private-1'].trigger('activity', {:todo => todo.serializable_hash(:include => :categories), :user => user})
end
我不测试此解决方案,但可以工作。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.