を失敗しました以下の2機種考えてみましょう:私は現在の所有者と車の記録(ボブ・ジョーンズ) を持っていると私は詳細を所有者レコード(ボブ・ジョーンズ)を持っている車の所有者エンバーbelongsToのアサーションは
を...アドレス、私の車のフォーム(車種)に電話など
、私はこの持っている:DB側に保存されている
export default Model.extend({
"owner_id": DS.belongsTo('owner'),
"year": attr(''),
"model": attr(''),
"make": attr('')
})
を、ボブ・ジョーンズの所有者のレコードに対応する、ID「12345」です。
私は車の記録(2015年ジャガー)をアップロードすると、私は
{{owner_id.id}} - {{owner_id.name}}
をプリントアウトした場合、それはまた、例えば彼の電話、住所などを私に語ったボブ・ジョーンズレコードに接続しますが、私はしますショー:
12345 - ボブ・ジョーンズ
私の質問は、私は車の所有者を変更した場合に何が起こるか、です。私はこのコンポーネントからドロップダウンリスト
{{my-select
name="owner_id"
content=ownerList
selection=owner_id.id
prompt="select an owner"
required=true
}}
を選択した場合:...
import Ember from 'ember';
export default Ember.Component.extend({
content: [],
prompt: null,
optionValuePath: 'value',
optionLabelPath: 'label',
init: function() {
this._super(...arguments);
if (!this.get('content')) {
this.set('content', []);
}
},
actions: {
change: function() {
let selectedIndex = this.$('select')[0].selectedIndex;
let content = this.get('content');
// decrement index by 1 if we have a prompt
let hasPrompt = !!this.get('prompt');
let contentIndex = hasPrompt ? selectedIndex - 1 : selectedIndex;
let _selection = content[contentIndex];
this.sendAction('willChangeAction', _selection);
if (this.get('optionValuePath')) {
this.set('selection', _selection[this.get('optionValuePath')]);
} else {
this.set('selection', _selection);
}
this.sendAction('didChangeAction', _selection);
}
}
});
と値を変更し、私はこのエラーを取得する:
レコードのidはそれ一度変更することはできませんロードされた状態です
2015年のJaguarカーレコーダーの更新方法新しい所有者の詳細を読み込んで所有者を変更するか?
どのような選択コンポーネントを使用していますか?私は、私の答えでコンポーネントを正しくセットアップする方法を変更するので、興味があります。 – xcskier56
は、コンポーネントコードを反映するように更新された質問です。 – Matt