これはレール3.1のアプリです。Ruby に関しては、私はちょっとしたことがありますし、もっと良い方法があると確信しています。動的なテーブルビューの作成
私は可変長レコードをMongoDBのを持っているので、データは次のようになります。
name | type | age | foo | bis | boz
------------------------------------------------
a data | - | data | - | data | -
b - | data | - | - | data | data
c - | - | - | data| - | _
「 - 」は値がありません。
のようにデータが見えます:私はこのようなもので、すべての(可能な)テーブルヘッダ の配列を取得することができます私の見解 の表に、このデータを表示したい
[_id: "a", name: "data", age: "data", bis: "data"]
[_id: "b", type: "data", bis: "data", boz: "data"]
[_id: "c", foo: "data"]
:
@trains = Train.page(params[:page] || 1).per(50)
@a = []
@header_array = @trains.each {|train| @a.push(train.attributes.keys)}
@header_values = @a.uniq.to_a
どのようにデータをループして各レコードのデータ行を作成し、テーブルヘッダーの正しい列に並べることができますか?おそらく、テーブル全体を生成するためのより良い方法があります。 また、各レコードの属性がどのようなものかわからないので、結果セットが与えられると、テーブルヘッダーは毎回動的に構築されます
調整した元の質問では、レコード長が可変なので、 '_'に一致しません。 – sysconfig
@sysconfig:あなたのコメントは分かりません。 '@ header_values'には可能なすべての列がありますので、それを繰り返します。特定の電車がそのプロパティを持っている場合は' t [k] 'を使用し、' '-''を使用しない場合は使用してください。 –
ありがとうございました。あなたのソリューションは私の最終的なソリューションに影響を与えました。 – sysconfig