2017-05-19 24 views
2

これは見つけるのが難しいです。既存のモデルに列を追加

私はemberに既存のモデルを持っており、新しい列を追加したいと思います。私はCLIからこれを生成する方法を見ることができませんでしたので、手動でcomponent.jsmodels/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(); 
    } 
} 

}); 
+0

"column"という単語はこの質問で私を混乱させていましたが、モデルの属性について語るSQLやレールの方法かもしれません。 – sheriffderek

答えて

関連する問題