回答編集履歴
4
修正
test
CHANGED
@@ -64,8 +64,6 @@
|
|
64
64
|
|
65
65
|
n = 2 if @pages.current_page == 2 || @pages.current_page == @pages.total_pages - 1
|
66
66
|
|
67
|
-
n = 1 if @pages.current_page == 3 || @pages.current_page == @pages.total_pages - 2
|
68
|
-
|
69
67
|
%>
|
70
68
|
|
71
69
|
<%= paginate @pages, window: n, outer_window: 1 %>
|
3
テストサイトの追記
test
CHANGED
@@ -37,3 +37,41 @@
|
|
37
37
|
1ページ目を表示すると下記のような形になるので、条件分岐をして、outerを増減したものを呼び出すなどの工夫が必要そうです。
|
38
38
|
|
39
39
|
![イメージ説明](74c0b10ec8c6e6108b4094e7d6b49dff.png)
|
40
|
+
|
41
|
+
|
42
|
+
|
43
|
+
---
|
44
|
+
|
45
|
+
|
46
|
+
|
47
|
+
さらに追記です。
|
48
|
+
|
49
|
+
|
50
|
+
|
51
|
+
前提:gemをインストールした状態(kaminariのconfigは設定せず、paginatorのカスタマイズはなし)
|
52
|
+
|
53
|
+
下記のコードで**ほぼ**実現できます。(本当はelseとかきちんと書いた方が良い)
|
54
|
+
|
55
|
+
[https://kaminari-test.herokuapp.com/](https://kaminari-test.herokuapp.com/)
|
56
|
+
|
57
|
+
```Ruby
|
58
|
+
|
59
|
+
<%
|
60
|
+
|
61
|
+
n = 1
|
62
|
+
|
63
|
+
n = 3 if @pages.current_page == 1 || @pages.current_page == @pages.total_pages
|
64
|
+
|
65
|
+
n = 2 if @pages.current_page == 2 || @pages.current_page == @pages.total_pages - 1
|
66
|
+
|
67
|
+
n = 1 if @pages.current_page == 3 || @pages.current_page == @pages.total_pages - 2
|
68
|
+
|
69
|
+
%>
|
70
|
+
|
71
|
+
<%= paginate @pages, window: n, outer_window: 1 %>
|
72
|
+
|
73
|
+
```
|
74
|
+
|
75
|
+
**ほぼ**というのは、4ページを表示した際に、`Prev 1 2 3 4 5 ... 25 Next`になってしまいます。(※22ページも同じ)
|
76
|
+
|
77
|
+
2文字以上飛ばす場合は...になるが、1文字飛ばす場合は...にならないkaminariの仕様みたいです。
|
2
追記
test
CHANGED
@@ -25,3 +25,15 @@
|
|
25
25
|
![イメージ説明](5a2153b055a1f199aa03b3ebd4d3ad3d.png)
|
26
26
|
|
27
27
|
※firstとlastの削除方法が見つからなかったのですが、こだわりがなければcssで消すのもありかと思います。
|
28
|
+
|
29
|
+
|
30
|
+
|
31
|
+
---
|
32
|
+
|
33
|
+
|
34
|
+
|
35
|
+
追記です。
|
36
|
+
|
37
|
+
1ページ目を表示すると下記のような形になるので、条件分岐をして、outerを増減したものを呼び出すなどの工夫が必要そうです。
|
38
|
+
|
39
|
+
![イメージ説明](74c0b10ec8c6e6108b4094e7d6b49dff.png)
|
1
テスト環境の結果を追記
test
CHANGED
@@ -10,12 +10,18 @@
|
|
10
10
|
|
11
11
|
|
12
12
|
|
13
|
+
テンプレートを使わず、デフォルトの状態で下記のような形になります。
|
14
|
+
|
13
|
-
|
15
|
+
あとはレイアウトを整えて、日本語化して、FirstとLastを削除すれば良いかと思います。
|
16
|
+
|
17
|
+
```Ruby
|
18
|
+
|
19
|
+
<%= paginate @admins, window: 1, outer_window: 1 %>
|
20
|
+
|
21
|
+
```
|
14
22
|
|
15
23
|
|
16
24
|
|
17
|
-
|
25
|
+
![イメージ説明](5a2153b055a1f199aa03b3ebd4d3ad3d.png)
|
18
26
|
|
19
|
-
|
27
|
+
※firstとlastの削除方法が見つからなかったのですが、こだわりがなければcssで消すのもありかと思います。
|
20
|
-
|
21
|
-
```
|