Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/459.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 检索主干/Rails中的子记录_Javascript_Ruby On Rails_Backbone.js - Fatal编程技术网

Javascript 检索主干/Rails中的子记录

Javascript 检索主干/Rails中的子记录,javascript,ruby-on-rails,backbone.js,Javascript,Ruby On Rails,Backbone.js,我有一个Rails应用程序,它的provider.rb模型与City.rb模型有很多关系。在省控制员的表演中,我这样做 @province= @province.cities render json: @province, root: false 当我渲染时,能够从该省获得城市。使用Rails很容易做到这一点,但我正在主干网中使用JSON数据。在主干中渲染省对象时,它没有可用的城市 _changing: false _events: Object _pending: false _previo

我有一个Rails应用程序,它的provider.rb模型与City.rb模型有很多关系。在省控制员的表演中,我这样做

@province= @province.cities
render json: @province, root: false
当我渲染时,能够从该省获得城市。使用Rails很容易做到这一点,但我正在主干网中使用JSON数据。在主干中渲染省对象时,它没有可用的城市

_changing: false
_events: Object
_pending: false
_previousAttributes: Object
attributes: Object
id: 14
name: "Ontario"
__proto__: Object
changed: Object
cid: "c501"
collection: child
id: 14
__proto__: Surrogate
问题1。是否有办法使该省的城市可用?这样我就可以用javascript调用province.cities了

由于无法通过省对象访问城市,我尝试根据路由器中的
showProvince
方法中的省id查询城市,如下所示

  self.provinces = app.collections.provinces.get(id); 
  self.cities = app.collections.cities.where({province_id: id}).fetch() //doesn't work
但在指定
where
之后,我无法调用fetch。另外,如果我停止fetch,并以这种方式尝试,我无法在
where
方法上使用成功回调,因此,
self.cities
在console.log中未定义,因为代码在查询完成之前已移动

  self.cities = app.collections.cities.where({province_id: id}, {
                success: function(){
                      no success callback, how to process data

                }
            });
 console.log(self.cities)//undefined
问题2:如何使用父id查询多个关联

假设我能够检索到与该省相对应的城市记录,我不知道如何将这两个记录一起插入到一些记录中

this.showView( '#main', new app.Views.ProvinceView({model:self.province}) );

如果我能够检索到该省的城市,我将如何包括这些城市?我应该尝试将它们与省合并,还是可以以其他方式包含它们?

因为我使用的是活动模型序列化程序,我必须在序列化程序中声明关系,然后子城市可以在省对象上使用

class ProvinceSerializer < ActiveModel::Serializer
  attributes :id, :name

  has_many :cities
end
self.cities = app.collections.cities.where({province_id: id}).fetch() //doesn't work