Railsでwill_paginateのgemをインストールしデータベースを10件ずつ表示している状態です。
ページに期間を指定するフォームを作っており、適用ボタンを押すとその範囲のデータのみを表示したいと考えております。こういった場合にupdateメソッドにどのように記載すればよいか分からずこちらで質問させていただきました(下にイメージ画像を貼ってあります)。
また、現在の表示ページが「user/XXXXXX」と言う形で、X部分は6桁の英数字のランダムのため、そういった場合のルーティングが分からず難航しております。
参考になるサイトなど構いませんのでご教示いただければ幸いです。
よろしくお願いいたします。
Ruby
1 2# app\views\user\personal.html.erb 3 4<%= form_with(model: @userinfo, url: '/user/update') do |f| %> 5<div class="from_date_field"> 6 <%= f.label :date, "期間" %> 7 <%= raw sprintf( 8 f.date_select( 9 :from_date, 10 use_month_numbers: true, 11 start_year: 2016, 12 end_year: (Time.now.year + 1), 13 default: Date.new(Time.now.year, Time.now.month, Time.now.day), 14 date_separator: '%s'), 15 '年 ', '月 ') + '日 ~ ' %> 16 <%= raw sprintf( 17 f.date_select( 18 :to_date, 19 use_month_numbers: true, 20 start_year: 2016, 21 end_year: (Time.now.year + 1), 22 default: Date.new(Time.now.year, Time.now.month, Time.now.day), 23 date_separator: '%s'), 24 '年 ', '月 ') + '日' %> 25 </div> 26 <div class="actions"> 27 <%= f.submit '適用' %> 28 </div> 29<% end %> 30 31<% @maildbs.each do |maildb| %> 32 <div class="maildbs-index-item"> 33 <div class="maildbs-right"> 34 <%= maildb.date %> 35 <%= maildb.time %> 36 <%= maildb.xxxx %> 37 <%= maildb.xxxx %> 38 </div> 39 </div> 40<% end %> 41 42<!-- 各ページへのリンク --> 43<%= will_paginate @maildbs %>
Ruby
1def update 2 3# この部分の書き方(モデルの条件での絞り方とルーティング)をご教示いただきたいのです 4 @maildbs = Maildb.paginate(page: params[:page], per_page: 10) 5 render 'user/XXXXXX' 6end
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/08/30 12:53
2017/08/30 18:07