3

テーブルを作ろうとしています。これが私のHAMLコードです:

%table{:border => 1}
%tbody
%tr
  %td Question:
- @cust_dashboard.each do |object|
  %tr
    %td= object.question
%tr
  %td Status:
- @cust_dashboard.each do |object|
  %tr
    %td= object.status
%tr
  %td Created_at:
- @cust_dashboard.each do |object|
  %tr
    %td= object.created_at

テーブル内のすべての項目が 1 つの列に表示されます。

ここに画像の説明を入力

3 つの列を持つテーブルが必要です。

ここに画像の説明を入力

4

3 に答える 3

11

私はしばらく HAML を書いていませんが、次のことが必要だと思います。

%table{:border => 1}
  %tbody
    %tr
      %td Question:
      %td Status:
      %td Created_at:
    - @cust_dashboard.each do |object|
      %tr
        %td= object.question
        %td= object.status
        %td= object.created_at

テンプレートを作成するときは、データがどのように出力されるかを考えてください:

<table>
  <tbody>
    <tr>
      <td>
      <td>
      <td>
    </tr>

続いて一連の:

<tr>
  <td>
  <td>
  <td>
</tr>

(もちろん正しくインデントされています) これらは各データ行で、3 つのセルにまたがっています。

ただし、ヘッダーのth代わりに使用する可能性があります。td

%th Question:
%th Status:
%th Created_at:
于 2013-04-26T23:20:58.327 に答える
0

それぞれtrが新しい行を開始するので、あなたが求めていたものを手に入れていると思います.

于 2013-04-26T23:00:53.570 に答える
0

毎回新しい行を要求しています。

変更してみてください:

- @cust_dashboard.each do |object|
  %tr
    %td= object.question

- @cust_dashboard.each do |object|
  %td= object.question
于 2013-04-26T23:01:02.350 に答える