2016-04-05 6 views
0

私はMeteorを学んでいます。フレームワークの仕組みを理解するのはとても簡単です。クライアント上のSelectBoxで使用する国名/国IDを持つCSVファイルを読み込みます。MeteorではどのようにCSVデータをクライアントに公開しますか?

私はその後、

Meteor.startup(function() { 
    parsed = Baby.parse(Assets.getText('geo.csv')); 
    Countries = parsed.data; 
}); 

どのように私がクライアントに国のデータを公開することができますか?使用赤ちゃん-解析

meteor add harrison:babyparse 

をインストール

答えて

3

Mongoコレクションに国別データを入力する方がよいと思われます。

実際にクライアントからサーバーメソッドにアクセスしたい場合は、クライアントから起動時にmeteorメソッドを呼び出し、その結果をセッション変数に設定できます。たとえば、次のように

if(Meteor.isClient){ 
    Meteor.call('getCountryData', function(err, res){ 
    if (res){ 
     Session.set('CountryData', res) 
    } 
    }); 
} 

if (Meteor.isServer){ 
    Meteor.methods({ 
    'getCountryData':function(){ 
     parsed = Baby.parse(Assets.getText('geo.csv')); 
     Countries = parsed.data; 
     return Countries; 
    } 
    }); 
} 

クライアント上で必要な場所に続いてSession.get("CountryData")を使用しています。

また、この方法ではなく、データベースにコレクションを作成し、クライアントに公開/サブスクライブすることを強くお勧めします。ここにMongoDB w/Meteorの基本に関する良い入門書があります:http://meteortips.com/first-meteor-tutorial/databases-part-1/第11章(公開&を購読する)は、基本を理解した上で見たいものです。

+0

Meteor.startup(function(){})の内部にコードを挿入します。 libディレクトリ内のファイルに保存します。 Uncaught ReferenceError:CountryDataが定義されていません(...) – Hexatonic

+0

'Session.get( 'CountryData')またはCountryDataだけを呼び出しましたか? – kartikshastri

+0

最後に考えたこと:あなたの答えを完成させるために、どのデータをMongoコレクションに追加するのがよいでしょうか(もっと賢明なアプローチと言えば)? – Hexatonic

関連する問題