0

クライアントに渡される変数の取得に問題があります。実行されるタスクは次のとおりです。

def getmaps
  $mapnames_current = []
  url = 'http://s3-ap-northeast-1.amazonaws.com/splatoon-data.nintendo.net/stages_info.json'
  resp = Net::HTTP.get_response(URI.parse(url))
  buffer = resp.body
  result = JSON.parse(buffer)
  result.each do |gamemode|
    gamemode['stages'].each do |stage|
      $mapnames_current << $mapnames.key(stage['id'])
    end
  end
end

ここで$mapnames_current呼び出されます:

    <div class="text-center">
      <h2>Current Maps!</h2>
      <h3>Turf War:</h3>
      <h2>{{ $mapnames_current[0] }}</h2>
      <h2>{{ $mapnames_current[1] }}</h2>
      <h3>Ranked:</h3>
      <h2>{{ $mapnames_current[2] }}</h2>
      <h2>{{ $mapnames_current[3] }}</h2>
    </div>

ここで何が問題なのかわかりません。$mapnames_current変数はどこからでもアクセスできるべきではありませんか?

4

1 に答える 1

0

グローバル変数は、クライアントとサーバーの間で同期されません。タスクからクライアントとサーバーの間で渡される唯一のものは、タスクの戻り値です。(これは、json (または json の日付型) にシリアル化できるものである必要があります)。

ここにタスクに関する良いスクリーンキャストがあります: http://datamelon.io/blog/2015/creating-volt-task-objects.html

于 2015-07-18T18:46:56.733 に答える