質問するログイン新規登録

回答編集履歴

4

修正

2020/12/08 10:14

投稿

no1knows
no1knows

スコア3365

answer CHANGED
@@ -31,7 +31,6 @@
31
31
  n = 1
32
32
  n = 3 if @pages.current_page == 1 || @pages.current_page == @pages.total_pages
33
33
  n = 2 if @pages.current_page == 2 || @pages.current_page == @pages.total_pages - 1
34
- n = 1 if @pages.current_page == 3 || @pages.current_page == @pages.total_pages - 2
35
34
  %>
36
35
  <%= paginate @pages, window: n, outer_window: 1 %>
37
36
  ```

3

テストサイトの追記

2020/12/08 10:14

投稿

no1knows
no1knows

スコア3365

answer CHANGED
@@ -17,4 +17,23 @@
17
17
 
18
18
  追記です。
19
19
  1ページ目を表示すると下記のような形になるので、条件分岐をして、outerを増減したものを呼び出すなどの工夫が必要そうです。
20
- ![イメージ説明](74c0b10ec8c6e6108b4094e7d6b49dff.png)
20
+ ![イメージ説明](74c0b10ec8c6e6108b4094e7d6b49dff.png)
21
+
22
+ ---
23
+
24
+ さらに追記です。
25
+
26
+ 前提:gemをインストールした状態(kaminariのconfigは設定せず、paginatorのカスタマイズはなし)
27
+ 下記のコードで**ほぼ**実現できます。(本当はelseとかきちんと書いた方が良い)
28
+ [https://kaminari-test.herokuapp.com/](https://kaminari-test.herokuapp.com/)
29
+ ```Ruby
30
+ <%
31
+ n = 1
32
+ n = 3 if @pages.current_page == 1 || @pages.current_page == @pages.total_pages
33
+ n = 2 if @pages.current_page == 2 || @pages.current_page == @pages.total_pages - 1
34
+ n = 1 if @pages.current_page == 3 || @pages.current_page == @pages.total_pages - 2
35
+ %>
36
+ <%= paginate @pages, window: n, outer_window: 1 %>
37
+ ```
38
+ **ほぼ**というのは、4ページを表示した際に、`Prev 1 2 3 4 5 ... 25 Next`になってしまいます。(※22ページも同じ)
39
+ 2文字以上飛ばす場合は...になるが、1文字飛ばす場合は...にならないkaminariの仕様みたいです。

2

追記

2020/12/08 10:00

投稿

no1knows
no1knows

スコア3365

answer CHANGED
@@ -11,4 +11,10 @@
11
11
  ```
12
12
 
13
13
  ![イメージ説明](5a2153b055a1f199aa03b3ebd4d3ad3d.png)
14
- ※firstとlastの削除方法が見つからなかったのですが、こだわりがなければcssで消すのもありかと思います。
14
+ ※firstとlastの削除方法が見つからなかったのですが、こだわりがなければcssで消すのもありかと思います。
15
+
16
+ ---
17
+
18
+ 追記です。
19
+ 1ページ目を表示すると下記のような形になるので、条件分岐をして、outerを増減したものを呼び出すなどの工夫が必要そうです。
20
+ ![イメージ説明](74c0b10ec8c6e6108b4094e7d6b49dff.png)

1

テスト環境の結果を追記

2020/12/08 06:58

投稿

no1knows
no1knows

スコア3365

answer CHANGED
@@ -4,8 +4,11 @@
4
4
 
5
5
  ---
6
6
 
7
+ テンプレートを使わず、デフォルトの状態で下記のような形になります。
7
- 公式による下記のような形になるのでないでょう?(実装したこはなのでが・・・)
8
+ とはレイアウトを整えて、日本語化て、FirstとLastを削除すれば良いかと
9
+ ```Ruby
10
+ <%= paginate @admins, window: 1, outer_window: 1 %>
11
+ ```
8
12
 
9
- ```Ruby
13
+ ![イメージ説明](5a2153b055a1f199aa03b3ebd4d3ad3d.png)
10
- <%= paginate @admins, window: 3, outer_window: 1 %>
14
+ ※firstとlastの削除方法が見つからなかったのですが、こだわりがなければcssで消すのもありかと思います。
11
- ```