質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Ruby on Rails 5

Ruby on Rails 5は、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

HTML5

HTML5 (Hyper Text Markup Language、バージョン 5)は、マークアップ言語であるHTMLの第5版です。

Q&A

解決済

2回答

949閲覧

【Rails】一覧をリスト表示させるときにtheadを固定させたい

kazuki0714

総合スコア28

Ruby on Rails 5

Ruby on Rails 5は、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

HTML5

HTML5 (Hyper Text Markup Language、バージョン 5)は、マークアップ言語であるHTMLの第5版です。

0グッド

0クリップ

投稿2019/06/23 08:20

編集2019/06/23 08:36

CRMを作成中です。
顧客情報の一覧をリスト表示させたいのですが、idや業態などの項目が都度表示されて見栄えが悪いです。

イメージ説明

Ruby

1<h1>顧客一覧</h1> 2<div class="main customers-index"> 3 <div class="container"> 4 <% @customers.each.with_index(1) do |customer, i| %> 5 <div class="customers-index-item"> 6 <table border="1"> 7 <thead> 8 <tr> 9 <th>id</th> 10 <th>会社名</th> 11 <th>業態</th> 12 <th>お客様名</th> 13 <th>担当者</th> 14 <th>備考</th> 15 <th></th> 16 </tr> 17 </thead> 18 <tbody> 19 <tr> 20 <td><%= i %></td> 21 <td><%= customer.company %></td> 22 <td><%= customer.category %></td> 23 <td><%= customer.name %></td> 24 <td><%= customer.staff %></td> 25 <td><%= customer.note %></td> 26 <td><%= link_to("詳細", "/customers/#{customer.id}") %></td> 27 </tr> 28 </tbody> 29 </table> 30 31 <% end %> 32 </div> 33 </div> 34</div> 35

こちらを下のスクショのように thead の項目を最上段にのみ表示させるにはどうすればよいでしょうか?
基礎的な質問で恐縮ですがアドバイスお願いいたします。

イメージ説明

何個か試したパターンを追記します

その1. <% @customers.each.with_index(1) do |customer, i| %>tbody の下に入れる

イメージ説明
上のスクショのコードが以下
イメージ説明

その2. 上段にあった <div class="container">
<% @customers.each.with_index(1) do |customer, i| %>
<div class="customers-index-item">
をtbodyに入れる

イメージ説明
上のスクショのコードが以下
イメージ説明

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

ベストアンサー

@customers.eachの場所を変えることで実現できるかもです!
例えば、以下のようにするといかがでしょうか。

rails

1<tbody> 2<% @customers.each.with_index(1) do |customer, i| %> 3 <tr> 4 <td><%= i %></td> 5 <td><%= customer.company %></td> 6 <td><%= customer.category %></td> 7 <td><%= customer.name %></td> 8 <td><%= customer.staff %></td> 9 <td><%= customer.note %></td> 10 <td><%= link_to("詳細", "/customers/#{customer.id}") %></td> 11 </tr> 12<% end %> 13</tbody> 14

投稿2019/06/23 08:24

hatsu

総合スコア1809

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

kazuki0714

2019/06/23 08:38

早速ありがとうございます。 他のパターンも試したのですが、なんかtbodyが崩れてしまいますね(^◇^;) CSSで直せばいいのでしょうか?
kazuki0714

2019/06/23 08:38

質問文の中に頂いたコードでのスクショを追加いたしましたのでご確認いただければ幸いです。
hatsu

2019/06/23 08:44

その1の<% end %>の位置を</tr>の下に置いてみるとどうでしょう?
kazuki0714

2019/06/23 08:57 編集

できました! <% end %> の位置でも変わるんですね! ありがとうございます!
guest

0

hatsu 様の回答を備忘録

<% end %> の位置を変えると解決

イメージ説明

ruby

1<h1>顧客一覧</h1> 2<div class="main customers-index"> 3 <div class="container"> 4 <div class="customers-index-item"> 5 <table border="1"> 6 7 <thead> 8 <tr> 9 <th>id</th> 10 <th>会社名</th> 11 <th>業態</th> 12 <th>お客様名</th> 13 <th>担当者</th> 14 <th>備考</th> 15 <th></th> 16 </tr> 17 </thead> 18<tbody> 19 <% @customers.each.with_index(1) do |customer, i| %> <!-- theadの上にあったのをここに移した--> 20 <tr> 21 <td><%= i %></td> 22 <td><%= customer.company %></td> 23 <td><%= customer.category %></td> 24 <td><%= customer.name %></td> 25 <td><%= customer.staff %></td> 26 <td><%= customer.note %></td> 27 <td><%= link_to("詳細", "/customers/#{customer.id}") %></td> 28 </tr> 29 <% end %> <!-- </table>の下にあったのをここに移した --> 30 </table> 31 </div> 32 </div> 33</div> 34

投稿2019/06/23 09:02

kazuki0714

総合スコア28

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問