Javascript 使用联接复制结果
我是ruby的新手,我正在尝试使用joins方法来获取属于我表演的表演者。使用以下简单代码(在我的头标签中): 我假设这与存在的执行者数量有关,因此每个执行者都会从数据库生成新的结果。我只是不明白为什么会这样Javascript 使用联接复制结果,javascript,ruby-on-rails-4,Javascript,Ruby On Rails 4,我是ruby的新手,我正在尝试使用joins方法来获取属于我表演的表演者。使用以下简单代码(在我的头标签中): 我假设这与存在的执行者数量有关,因此每个执行者都会从数据库生成新的结果。我只是不明白为什么会这样 我做错了什么?我如何避免结果中的重复项。因为连接创建重复值。您必须使用包含来消除重复值 window.performances = <%=raw Performance.includes(:performers).to_json(:include => {:performers
我做错了什么?我如何避免结果中的重复项。因为
连接
创建重复值
。您必须使用包含
来消除重复值
window.performances = <%=raw Performance.includes(:performers).to_json(:include => {:performers => {
:except => [ :created_at, :updated_at ]
}}, :except => [ :created_at, :updated_at ]) %> ;
alert(JSON.stringify(window.performances));
window.performances={:performers=>{
:except=>[:创建时间,:更新时间]
}},:except=>[:创建时,:更新时]%>;
警报(JSON.stringify(window.performances));
而且包括
也避免N+1
向数据库生成查询
查看这些了解更多信息。我希望它能有所帮助 使用包含
而不是连接
和check@pavan好的,它可以工作(结果不再重复)。问题是为什么!?
[{"id":1,"date":"2011-12-10","location":"Malgorzaty i Zygmunta Belza","performers":[{"id":1,"name":"Wojtek Szewczuk"},{"id":2,"name":"Danuta Sroka"}]},{"id":1,"date":"2011-12-10","location":"Malgorzaty i Zygmunta Belza","performers":[{"id":1,"name":"Wojtek Szewczuk"},{"id":2,"name":"Danuta Sroka"}]},{"id":2,"date":"2011-12-10","location":"Malgorzaty i Zygmunta Belza","performers":[{"id":1,"name":"Wojtek Szewczuk"},{"id":2,"name":"Danuta Sroka"}]},{"id":2,"date":"2011-12-10","location":"Malgorzaty i Zygmunta Belza","performers":[{"id":1,"name":"Wojtek Szewczuk"},{"id":2,"name":"Danuta Sroka"}]}, ...
window.performances = <%=raw Performance.includes(:performers).to_json(:include => {:performers => {
:except => [ :created_at, :updated_at ]
}}, :except => [ :created_at, :updated_at ]) %> ;
alert(JSON.stringify(window.performances));