Ember.js 余烬插入具有多个关系的记录-不工作
我已经在这个问题上纠缠了两天了,一直无法在网上找到解决方案。我希望你们中的一些人能帮忙 我有以下型号:Ember.js 余烬插入具有多个关系的记录-不工作,ember.js,ember-data,Ember.js,Ember Data,我已经在这个问题上纠缠了两天了,一直无法在网上找到解决方案。我希望你们中的一些人能帮忙 我有以下型号: App.Project = DS.Model.extend({ name: DS.attr('string'), project_teams: DS.hasMany('projectTeam') }); App.ProjectTeam = DS.Model.extend({ sde_effort: DS.attr('number'), project: DS.
App.Project = DS.Model.extend({
name: DS.attr('string'),
project_teams: DS.hasMany('projectTeam')
});
App.ProjectTeam = DS.Model.extend({
sde_effort: DS.attr('number'),
project: DS.belongsTo('project'),
team: DS.belongsTo('team')
});
App.Team = DS.Model.extend({
project_teams: DS.hasMany('projectTeam'),
name: DS.attr('string')
});
以及my projectsController中的以下代码:
var project = store.createRecord('project', {
name: projectName
});
project.save().then(function(projectRecord){
var teamHookerUpper = function(teamId, sdeEffort, idx){
store.find('team', teamId).then(function(team){
var project_team = store.createRecord('project_team', {
project: projectRecord,
sde_effort: sdeEffort,
team: team
});
console.log('project team has been created');
project_team.save().then(function(pt){
projectTeamIds.push(pt.get('id'));
if(idx == sdeHeads.length - 1){
console.log(projectRecord);
projectRecord.set('project_teams', projectTeamIds);
projectRecord.save();
}
});
});
}
for(var i = 0; i < sdeHeads.length; i++){
teamHookerUpper(teamIds[i], sdeHeads[i], i);
}
});
编辑2:
下面是ruby中相应的数据模式
ActiveRecord::Schema.define(version: 20131230144053) do
create_table "project_teams", force: true do |t|
t.integer "sde_effort"
t.integer "project_id"
t.integer "team_id"
t.datetime "created_at"
t.datetime "updated_at"
end
add_index "project_teams", ["project_id"], name: "index_project_teams_on_project_id"
add_index "project_teams", ["team_id"], name: "index_project_teams_on_team_id"
create_table "projects", force: true do |t|
t.string "name", null: false
t.datetime "created_at"
t.datetime "updated_at"
end
create_table "teams", force: true do |t|
t.string "name", null: false
t.datetime "created_at"
t.datetime "updated_at"
end
end
你能检查一下请求中发送的参数吗?sdeeds来自哪里?sdeeds是我从前端收集的一个值数组。它的长度与数组teamid相同。我基本上迭代了sdeHeads,并使用索引检索teamId和sdeEffort,因为两者的长度相同,并创建了一个新的ProjectTeam对象,该对象需要sdeEffort编号,project和teamI使用发送的请求及其相应的服务器响应更新了我的问题,并在Rubyth中包含DB模式。这可能是相关的:不,im returning@project。您是否认为问题可能是由于表定义引起的。因为您可以看到,对于ProjectTeam,我需要项目id和团队id,而从前端我发送jsonified对象。我不确定那是个错误还是应该是那样的。。
ActiveRecord::Schema.define(version: 20131230144053) do
create_table "project_teams", force: true do |t|
t.integer "sde_effort"
t.integer "project_id"
t.integer "team_id"
t.datetime "created_at"
t.datetime "updated_at"
end
add_index "project_teams", ["project_id"], name: "index_project_teams_on_project_id"
add_index "project_teams", ["team_id"], name: "index_project_teams_on_team_id"
create_table "projects", force: true do |t|
t.string "name", null: false
t.datetime "created_at"
t.datetime "updated_at"
end
create_table "teams", force: true do |t|
t.string "name", null: false
t.datetime "created_at"
t.datetime "updated_at"
end
end