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のコンソールをチェックすると
、これは私が見たものである。
だからそれは私に、それは、より具体的に粘着性について、私の配備構成でいくつかの問題である可能性があり事になりますセッション。しかし、実際にはわからないし、私の展開スクリプトで何を変更してそれを修正できるかもわからない。
そして、最後に、の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"
に変更することにしました。ワーキング!! :)
'getConfig'メソッドも表示してください – Styx
また、あなたの' ROOT_URL'のように見えます。env varが設定されていません。 – Styx
@Styx - リクエストごとに関数の説明を追加しました。どこでROOT_URLを設定しますか? –