並び替えした情報を、そのまま保存したい
解決したいこと
railsにて、『sort』機能を使用し並び替えの機能を実装しました。
しかし、並び替え後にページ更新をすると元通りになってしまう。
並び替えした情報を、その並び替えのまま保存することは可能でしょうか??(ページ更新しても、並び替えが保存されている状態)
もし、ご存知の方がいましたら、ご教示頂けますと幸いです。
機能について
並び替えの昨日は下記のような順番でユーザーは行います。
①コンテンツを登録
②ユーザーページの『並べ替えボタン』をクリックして、並び替えをしたい項目をクリック
→並び替え完了
該当するソースコード
コンテンツ一覧ページ
<p class='sort-title'>並び替え<p>
<div class ="sort-list">
<thead >
<tr >
<th scope="col"><%= sort_order "name", "タイトル" %></th>
<th scope="col"><%= sort_order "price", "金額" %></th>
<th scope="col"><%= sort_order "created_at", "追加日" %></th>
</tr>
</thead>
</div>
<tbody>
<tr>
#並び替えをしたいコンテンツ
<% @content.each do |content| %>
<%= content.name %>
<%= "¥#{number_to_currency(content.price)}" %>
<%= image_tag content.image, class: "content-img" %>
</tr>
</tbody>
コントローラ
class ContentsController < ApplicationController
helper_method :sort_column, :sort_direction
def index
@content = Content.where(user: current_user).order("#{sort_column} #{sort_direction}")
end
private
def sort_direction
%w[asc desc].include?(params[:direction]) ? params[:direction] : 'asc'
end
def sort_column
Content.column_names.include?(params[:sort]) ? params[:sort] : 'id'
end
end
自分で試したこと
Googleで『ruby 並び替え 保存』と調べましたが該当する項目が出てきませんでした。
0