2017-01-20 9 views
1

Ember.jsで新しく働いていて、私はいくつか混乱しています。私の本当の問題は、MySQLとember-dataを使って作業していることです。私はいくつかのチュートリアルを練習した結果、youtubeが非常に役に立ちました。この時点で、Node.jsサーバーの上で動作するアプリケーションを作成できます。ノードサーバーはmysqlデータベースと通信し、emberアプリケーションが消費するRESTful APIを作成します。私はmysqlデータベースからデータを取得して表示しても問題ありません。しかし、私はMySQLデータベースのデータを保存または更新する方法を理解できません。私は「店」の概念を漠然と理解していて、オブジェクトをその中に押し込んで表示することができますが、それだけです。 ember-dataとNode.jsを使用してmysqlデータベースを作成または更新する方法の例はありますか?EmberとNode.jsを使用してMySQLデータベースに書き込む

EDIT:この質問は、ember-mysqlアプリケーションの構造と、他の人のために本番環境で動作していたものについて本当に尋ねています。

これは、MySQLや他のデータベースエンジンを使用している場合、それは問題ではありません燃えさしデータの観点からのルート/ message.js

import Ember from 'ember'; 

export default Ember.Route.extend({ 
    model() { 
     var self = this; 
     setTimeout(function(){ 
      console.log("done waiting...") 

      self.store.push({ 
       data: [{ 
        id: 11, 
        type: 'message', 
        attributes: { 
         message: 'New Message' 
        }, 
        relationships: {} 
       }] 
      }); 
     },1000); 
     return self.store.findAll('message'); 
    } 
}); 

答えて

4

に店に押し込む一例です。 Ember-dataはAPIとのみ通信します。デフォルトではRESTful JSON APIです。

したがって、アプリケーションのnode.js部分は、データの読み取りと保存の両方のエンドポイントを実装する必要があります。しかし、このAPIを一から書くことは無駄です。フレームワークを使用した方がはるかに簡単です。node.jsを確認したい場合はSails.jsをチェックし、そうでなければRuby on Railsを試してみてください。

両方のフレームワークでは、ember-dataが消費する可能性のある実用的なRESTful APIを生成するのはかなり簡単です。

コード例:Storeは、ブラウザメモリ内のレコードのデータを管理するember-dataのレイヤーです。 PushStoreに送信すると、メモリにレコードが追加されます(技術的なレコードはで、StoreはAPIから読み取られます)。

モデルを保存するためには、単に送信model.save()を呼び出すPOST(作成時)またはPUT APIへのリクエスト(更新時に) - 少なくともデフォルトのJSON API Adapterとします。 Adapterは、APIがどのように動作して通信するかを理解するレイヤーです。

プロトタイプを構築するだけの場合は、Firebaseを試してみてください。これは基本的にJavaScripアプリケーションの準備ができたバックエンドです。あなたはnode.jsの部分をまったく捨てることはできません - 少なくとも時間はかかります。

関連する問題