質問編集履歴

1

markdown と実際の問題点のスクショを記載して読む方がわかりやすい文章にしました。

2020/06/19 23:32

投稿

tatuya1336
tatuya1336

スコア1

test CHANGED
@@ -1 +1 @@
1
- Railsでのeach文使って画像の改行がしたいです
1
+ Railsでデータベース記事表示したい(初学者です)
test CHANGED
@@ -1,24 +1,14 @@
1
1
  ### 前提・実現したいこと
2
2
 
3
+ ### Postテーブルのデーターを下の画像のように横に並べて三つずつ表示したいです。
4
+
5
+ ![目標の表示の仕方](a85dcbcc7a2f4d7bbd8ea8aaff89a1b0.jpeg)
6
+
7
+ ### 下の"New posts"以下に記事を一列三つの記事で表示していきたいのですが現状の状態は一列に六つに収まっています。
8
+
9
+ ![現状](8e9f4b72ae351387b27f0653eadcf0e8.jpeg)
3
10
 
4
11
 
5
- railsのeach文を使って画面に画像を出力して二列にしたいです。
6
-
7
- 画面に6個の記事(container)を二列で表示させたいのですが画面いっぱいに記事(container)が押し込まれて表示されます。
8
-
9
- containerの横幅は32%で指定しています。
10
-
11
- ### 発生している問題・エラーメッセージ
12
-
13
- [(https://gyazo.com/4c3d5af57eeaff816f9dae747989e5f8)]←理想
14
-
15
- [(https://gyazo.com/ae272b2cca4f1ac7a0073ca58315c68f)]←現実
16
-
17
- ```
18
-
19
- エラーメッセージ
20
-
21
- ```
22
12
 
23
13
 
24
14
 
@@ -26,9 +16,21 @@
26
16
 
27
17
 
28
18
 
29
- ```ruby
19
+ ```controller
30
20
 
21
+
22
+
23
+ def index
24
+
25
+ @new_posts = Post.order('created_at DESC').limit(6)
26
+
27
+ end
28
+
29
+
30
+
31
- **_main_wrapper.html.erb**
31
+ ```コントローラーでは六つの記事を新しい順で**postテーブル**から**@new_posts**に代入。
32
+
33
+ ```html
32
34
 
33
35
  <div class ="posts">
34
36
 
@@ -40,37 +42,11 @@
40
42
 
41
43
  </div>
42
44
 
45
+ ```eachメソッドで**@new_posts**を呼び出し**posts__container**にブロック変数**postのimage**を配置。
43
46
 
47
+ ```css
44
48
 
45
- **posts_controller.rb**
46
-
47
- def index
48
-
49
- @slider_posts = Post.all
50
-
51
- @posts = Post.order('created_at DESC').limit(3)
52
-
53
- @new_posts = Post.order('created_at DESC').limit(6)
54
-
55
- end
56
-
57
-
58
-
59
- **_main.posts.scss**
60
-
61
- .posts{
62
-
63
- margin: 50px 120px 50px;
64
-
65
-
66
-
67
- height: 320px;
68
-
69
- display: flex;
70
-
71
- justify-content: space-between;
72
-
73
- &__container{
49
+ posts__container{
74
50
 
75
51
  width: 32%;
76
52
 
@@ -78,19 +54,29 @@
78
54
 
79
55
  border-radius: 10px;
80
56
 
81
- ```
57
+ }
58
+
59
+ ```**posts__container**は親要素に対して32%で均等に配置されるように横幅を指定。
82
60
 
83
61
 
84
62
 
85
63
  ### 試したこと
86
64
 
87
- containerの記述ているので画面一杯になったら自動でしたの段に改行されると思ってました
65
+ 仮説❶controllerのなかでメソッド使って**三つ取得したら改行**みたなメソッドを書く
88
66
 
89
- 画面一杯おさまっ
67
+ 仮説❷htmlのなか**if文を入れ三つ目で改行をtrueにする。**
68
+
69
+ 仮説❸cssでposition を使ってcontainerを固定してみる。
90
70
 
91
71
 
92
72
 
73
+ どんなコードの書き方(each文を使わなくても表示させる方法)などご教授いただきたいです。
74
+
75
+ よろしくお願いします。
76
+
93
77
  ### 補足情報(FW/ツールのバージョンなど)
78
+
79
+
94
80
 
95
81
  ruby '2.6.5'
96
82