0

Prawn (pdf ビルダー) でテーブルを作成するために使用している hstore 列があります。データは、特定の月のレコードで構成されます。これは hstore であるため、使用されるキーは日ごとに変わる可能性が高いため、これは動的である必要があります。

私は決定する必要があります:

1 その月に使用された一意のキー

その月に使用された一意のキーを見つけるためのヘルパーを作成しました。これらは列ヘッダーとして使用されます。

 keys(@users_logs)
 # this returns an array like - ["XC", "PIC", "Mountain"]

テーブルには、その月のユーザーの義務ログ データが表示されます。テスト用...既知のhstoreキーを明示的に呼び出すと...データが正しく表示されます。しかし、その hstore 以来...テーブルの列が本番環境でどうなるかわかりません。

テストのために、既知の hstore キーを呼び出します...これにより、職務ログごとにエビ テーブルの行データが作成されます。

@users_logs.map do |dutylog|
        [ dutylog.properties["XC"], 
          dutylog.properties["PIC"], 
          dutylog.properties["Mountain"]
            ]
end

しかし、これは hstore であるため、本番環境でどのキーを呼び出すべきかわかりません。したがって、上記の反復を動的にする必要があります。

各dutylogエントリを反復処理してから、各一意のキーを反復処理し、キー値ごとに1つの「dutylog.properties [x]」呼び出しを出力しようとしましたが、成功しませんでした...しかし、これはキー値の配列を出力するだけです。ブロックで send() を使用しようとしましたが、それは役に立ちませんでした。

@users_logs.map do |dutylog|
   [ keys(@users_logs).each { |k| dutylog.properties[k] }.join(",") ]
end

「dutylog.properties[k]」を動的にする方法についてのアイデアはありますか?

4

1 に答える 1