アラフォーからのプログラミングとデザイン

大人から始めたプログラミングとデザインについてのあれこれ

Pagenationでエラー!!解決した方法

f:id:simpledancer:20181211120114j:plain

登録データ数が増えてきたので、スマホで見るとスクロールをしまくらなくてはいけないのでPagenationを入れることにしました。

kamineriとかpagyとかあるけれど私はrails チュートリアルに載っていたpagenateを入れました。

rubygems.org

が、詰まったところがいくつかあったのでメモがてらそれを書きますね

 

データ数の記載がないとページ送りの表記が出ない

私が今、仮で入れているデータが15ほどだったんですが

controllerの表記が

@tricks = Trick.paginate(page: params[:page])

にしていました!

データ数を入れてなかったので表示されなかったのですが。

@tricks = Trick.paginate(page: params[:page],per_page:9)

と9データ毎!って指定をしたらちゃんとviewに現れてくれました。

検索後がエラーになったところを解決!

ransackを入れて、検索バーを作っていたのですが、

pagenationを入れると、検索で絞り込んだ時にエラーが出るようになってしまいました。

これは、viewに<%= will pagenate %>が入ってるのに、検索した時をifでくくっていたのでifで検索表記になった時 pagenateとかねえよ!って感じでエラーになっちゃってたんです。

そこで、if文の表記の中にも以下を追記しました。

if params[:q]
@tricks = @q.result(distinct: true).paginate(page: params[:page],per_page:9)
else
@tricks = Trick.paginate(page: params[:page],per_page:9)
end

これで無事エラーが解決されました!

細かい内容はまた追記していきます。

simpledancer.hatenablog.com