2017-11-04 6 views
1

localhostを実行しているときにうまく動作する流星コードがありますが、Google Cloudに配備するとほとんどのものが動作します。そのフォームには、サーバーからのデータがあらかじめ入力されています。{{#with}}内のHTMLコンテンツは表示されません

これは私のHTMLです:次に

<template name="ConfigForm"> 
    {{ #with configurationData }} 
    <form class="update-config"> 
    <div class="row"> 
     <div class="col-lg-6"> 
     <p>Email Recipients</p> 
     </div> 
     <div class="col-lg-6"> 
     <label for="decimal" class="sr-only">Email Recipients</label> 
     <input type="text" id="send_to_email" class="form-control" placeholder="Email Recipients" autofocus value="{{ send_to_email }}"> 
     </div> 
    </div> 
.... 

、この特定のページのための私のjavascriptファイルがあります。config JSONオブジェクトを返す

Template.ConfigForm.onCreated(function bodyOnCreated() { 
    Meteor.call('getConfig',function(err,response) { 
    if(err) { 
     console.error('Error') 
     return; 
    } 
    Session.set('config', response); 
    }); 
}); 
Template.ConfigForm.helpers({ 
    configurationData: function() { 
    return Session.get('config') 
    } 
}); 

そして、最後に、私のサーバーはMeteor.methodsを定義していますフォームに入力するために使用されます。私が言及したように、それはローカルホストでうまく動作します。私が展開され、Webページを開くとChromeのコンソールをチェックすると

、これは私が見たものである。

Google Chrome Console errors

だからそれは私に、それは、より具体的に粘着性について、私の配備構成でいくつかの問題である可能性があり事になりますセッション。しかし、実際にはわからないし、私の展開スクリプトで何を変更してそれを修正できるかもわからない。

そして、最後に、のgcloud展開のための私のDockerfileは次のとおりです。

FROM gcr.io/google_appengine/nodejs 
RUN install_node v4.8.2 
COPY . /app/ 
RUN (cd programs/server && npm install --unsafe-perm) 
CMD node main.js 

すべてのヘルプははるかに、感謝を理解されるであろう。

EDIT:要求されたとしてGETCONFIGメソッドの追加

Meteor.methods({ 
     getConfig: function() { 
      return { 
      btcmBTCFee:btcm_btc_fee, 
      btcmBTCTransferFee:transfer_fee, 
      indyBTCFee:indy_btc_fee, 
      indyBTCTransferFee:transfer_fee, 
      coinjarBTCFee:coinjar_btc_fee, 
      coinjarBTCTransferFee:transfer_fee, 
      coinspotBTCFee:coinspot_btc_fee, 
      coinspotBTCTransferFee:transfer_fee, 
      russelBTCFee:coinspot_russel_btc_fee, 
      russelBTCTransferFee:transfer_fee, 
      acxBTCFee:acx_btc_fee, 
      acxBTCTransferFee:transfer_fee, 
      btcmLTCFee:btcm_ltc_fee, 
      btcmLTCTransferFee:transfer_fee, 
      indyLTCFee:indy_ltc_fee, 
      indyLTCTransferFee:transfer_fee, 
      coinspotLTCFee:coinspot_ltc_fee, 
      coinspotLTCTransferFee:transfer_fee, 
      russellLTCFee:coinspot_russel_ltc_fee, 
      russellLTCTransferFee:transfer_fee, 
      minimum_pct_for_alert:minimum_pct_for_alert, 
      minimum_variation_pct_to_send_alert:minimum_variation_pct_to_send_alert, 
      enable_send_alert:enable_send_alert, 
      send_to_email:send_to_email 
      }; 
     } 
    }); 

それは非常に簡単な関数であるが、それだけでグローバル変数を返しています。私はMongoDBからまだ読んでいない。

EDIT2:私は実際に私がでapp.ymlファイルを持っているのを忘れ

は、ROOT_URLも正しいがあり、かつ:

entrypoint: meteor run 
env: flex 
runtime: custom 
env_variables: 
    ROOT_URL: https://<<url>>.appspot.com/ 
    MONGO_URL: "mongodb://<<user>>:<<pw>>@ds157444.mlab.com:57444/arbot" 
    DISABLE_WEBSOCKETS: "1" 
skip_files: 
- ^(.*/)?\.dockerignore$ 
- ^(.*/)?\npm-debug.log$ 
- ^(.*/)?\yarn-error.log$ 
- ^(.*/)?\.git$ 
- ^(.*/)?\.hg$ 
- ^(.*/)?\.svn$ 

SOLUTION:

私はそれを得ました仕事に! DISABLE_WEBSOCKETS: "1"DISABLE_WEBSOCKETS: "0"に変更することにしました。ワーキング!! :)

+0

'getConfig'メソッドも表示してください – Styx

+0

また、あなたの' ROOT_URL'のように見えます。env varが設定されていません。 – Styx

+0

@Styx - リクエストごとに関数の説明を追加しました。どこでROOT_URLを設定しますか? –

答えて

1

SOLUTION:

私はそれが動作するようになりました!私はDISABLE_WEBSOCKETSを "DISABLE_WEBSOCKETS:" 0 "と" tada "に変更することに決めました!ワーキング!! :)

関連する問題