1

私は Middleman と Ruby にかなり慣れていないので、事前にお詫び申し上げます...

「Middleman local data」を介して、データフォルダーにある JSON ファイルを読み取り、結果を環境変数に保存しようとしているので、最終的に JS ファイルに渡すことができます。このようなもの:

- data.test.each do |t|
    - set :json_data, t

これは実際に /data/test.json ファイルを読み取り、それを json_data 変数に保存しています。ただし、JSON 形式ではありません。これは、すべてのノードの単なる文字列連結です。私の推測では、変数に保存する前に JSON 情報をデコードする必要があります。何かのようなもの?

- data.test.each do |t|
    - set :json_data, ActiveSupport::JSON.decode(t)

しかし、これも機能していません。json gem をインストールしようとしましたが、うまくいきました。

私が見逃している可能性のあるものの手がかりはありますか?

4

1 に答える 1

2

ActiveSupport は、Middleman では取得できない Rails モジュールです。JSON gem がインストールされていると仮定すると、次のようなことができます。

string = File.read('/path/to/json/file.json')

json = JSON.parse(string)

json.each do |node|
  # do your stuff here

詳細はこちら: Ruby での JSON 文字列の解析

于 2013-04-23T14:50:28.687 に答える