2
これは見つけるのが難しいです。既存のモデルに列を追加
私はemberに既存のモデルを持っており、新しい列を追加したいと思います。私はCLIからこれを生成する方法を見ることができませんでしたので、手動でcomponent.js
とmodels/post.js
に追加してください。フォームにフィールドを追加し、ハンドルバーを私のビューに追加しました。 Firebaseの確認私はフィールドを更新していないことを確認できます。
私は単にrails generate migration add_snippet_to_posts snippet:string
を実行しますが、Emberでこれを実行するだけで新しいモデルが作成されます。
モデル/ post.js
import DS from 'ember-data';
export default DS.Model.extend({
title: DS.attr('string'),
author: DS.attr('string'),
createdDate: DS.attr('date'),
text: DS.attr('string'),
snippet: DS.attr('string') #<=manually added this.
});
component.js
import Ember from 'ember';
export default Ember.Component.extend({
actions: {
createPost: function (model) {
this.sendAction('createPost', model);
// Clear each input field
this.set('newPost.title', null);
this.set('newPost.author', null);
this.set('newPost.text', null);
this.set('newPost.snippet', null); #<= manually added this
}
}
});
私はこれをどのように行うのですか?公式の答えはあなただけに燃えさし-CLIと属性を追加することができないということでしょう
import Ember from 'ember';
export default Ember.Route.extend({
model: function() {
return this.store.findAll('post');
},
actions: {
createPost: function (model) {
let post = this.store.createRecord('post', {
title: model.title,
text: model.text,
author: model.author,
snippet: model.snippet, # <= add this too
createdDate: new Date()
});
post.save();
}
}
});
"column"という単語はこの質問で私を混乱させていましたが、モデルの属性について語るSQLやレールの方法かもしれません。 – sheriffderek