0

次のようなハッシュがあります。

{"Title"=>"Harry Potter", "Author"=>"Jk rowling", "Date Published"=>"1997"}

すべてが正しく機能している場合の html テーブルは次のとおりです。

ここに画像の説明を入力

現在、th のキーと td の値を繰り返し処理しています。

だからここに私のコードがあります:

%table
  %tr
    - data.each do |key, array|
        %th= key

  %tr
    - data.each do |key, array|
        %td= array

これは機能しますが、私の問題は次のとおりです。

  • 値が空白の場合、対応するキーの下の列を空白のままにする代わりに、次の値がそこに配置されます。したがって、作成者の値を空白のままにすると、1997 年が表の作成者の下に移動します。

助けてくれてありがとう!

4

2 に答える 2

1

私はもっ​​とこのようにします:

%table
  %tr
    - data.keys do |key|
        %th= key || ' '

  %tr
    - data.values do |val|
        %td= val || '<missing>'

キーとそれぞれの値を同じ順序で使用keysして返すため、見出しとデータが一致します。valuesキーが欠落している場合は&nbsp;、列が表示されるのに役立ちます。値が欠落している場合は、表示される&lt;missing&gt;はず<missing>です。

サンプル データとコード内の実際の例がなければ、偽のデータやビューなどを組み合わせて多くの時間を費やさずに詳細を示すことは困難です。

于 2013-10-11T03:40:05.973 に答える