新しいモデルを作成するときに、コレクションのcreate
関数を呼び出した後、バックボーンコレクションを再取得する方法を教えてもらえますか?コレクションの作成後にバックボーンコレクションを取り戻すにはどうすればいいですか?
新しいモデルを作成した後でfetch
をマイコレクションに呼び出すと、そのモデルが表示されることがあります。
私の問題は、コレクションに新しいモデルを作成したときに、モデルのIDを取得できず、すぐに更新できない場合、ページを更新してIDを取得する必要があります作成されたモデルの
私はlistenTo
で試しましたが、私は1つの機能に多くのコレクションを送る必要があるため、使用できません。
私のブートストラップ・モーダル・ビューは、私のモデルを作成してデータベースに保存しています。モデルID以外のすべての属性はコンソールに作成しています。
バックボーンビュー:ここ
app.types.EditView = Backbone.View.extend({
tagName: "div",
$container: $('#containerEdit'),
template: _.template($('#itemEdit-template').html()),
events:
{
"click .save": "save",
},
initialize: function(options)
{
this.options = options;
this.$container.html(this.render());
this.start();
this.end();
},
render: function()
{
this.$el.html(this.template());
return this.$el;
},
save: function()
{
console.log("save");
$('#openModal').modal('hide');
var dan = this.model.dan_u_tjednu_usera.datum;
var mjesec = this.model.dan_u_tjednu_usera.mjesecBrojevi;
var godina = this.model.dan_u_tjednu_usera.godina;
var start = $("#start").val();
var end = $("#end").val();
var user_id = this.model.user.id;
this.model.shifts.create({day: dan, month: mjesec, year: godina, time_from: start, time_to: end, user_id: user_id});
this.options.model.el.html($("<td href='#openModal' width='25%' align='center' class='list-group test' scope='row'>" + start + " - " + end + " " + "Admin" + "</td>"));
this.model.shifts.fetch({sync: true});
console.log("test", this.model.shifts);
}
あなたは私の応答イムで作成した上で、id属性を取得していないことがわかります。
そして、ここで私は私のコレクションを記録し、私はここで作成したモデルのid属性を持っていない私のセルをクリックしたときには見ることができます。 IMは私がログインしたときにidはあまりにもそれを属性得ていないthis.model
私は、作成したモデルのIDを取得していないよ '私は' console.log'を試してみましたが、解雇でもない解雇はないwindow.alert'。私はモデルを作成するとき私は私のIDでデータベース内のモデルを持っていますが、私は私のコレクションをログに私はidなしのモデルを取得コンソールログ。 – lorenos
サービスコールは新しい属性を返しますか? – mikeapr4
はい、新しいアトリビュートをコンソールに表示しますが、新しいモデルのIDは表示されません。私はそれを取得して2回を取得するが、私は2度フェッチしません私はそれを一度フェッチし、または可能であれば同期メソッドでそれを行う。 – lorenos