railsでページングで表示させたいのですが、うまくいきません。
属性で検索して、一覧を表示しています。
一覧の表示は別のテンプレートに書かれています。
検索して最初(1ページの表示)は50人分の表示ができていてうまく動いているのですが、2ページ目や3ページ目を押すと表示が全て消えます。
haml
1.row 2 .col-12 3 %h4 4 検索条件の指定 5 =form_with url: '/admin/users/search', local: true do |form| 6 .m-3 7 %label 属性タグ 8 = form.collection_select :label, Label.all, :id, :name, {include_hidden: false, include_blank: true, selected: request.post? ? @selected[:label] : ''}, class: 'form-control searchable', multiple: 'multiple', data: {placeholder: '属性一覧を表示'}, required: true 9 =form.submit '検索する', class: 'btn' 10 11- if request.post? && @projects.blank? 12 検索結果0 13- else 14 .row 15 .m-1 16 = paginate @users 17 .row 18 .m-1 19 = "#{@users.total_count}件中\t\t#{@users.offset_value} ~ #{@users.offset_value + @users.length}件を表示しています。" 20 .m-3 21 =render '/users/user_table', {users: @users, context: 'search'} 22
ruby
1def search 2 @selected = {} 3 if request.post? 4 @selected[:label] = params[:label] 5 users_ids = Label.where(id: params[:label]).map{|label| label.users.pluck(:id)} 6 @users = User.where(id: users_ids).order('id desc').page params[:page] 7 end 8end
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。