実現したいこと
RailsでTwitterのような投稿アプリを作っています。
ransackのsort_link機能を使って、登録日時(created_atカラム)を
ソートする機能を実装しようとしました。
発生している問題・エラーメッセージ
レコードの一覧が登録日時順にソートされない。
該当のソースコード
controller
1def index 2 @q = current_user.tweets.ransack(params[:q]) 3 @tweets = @q.result(distinct: true) 4 end
view
1tr 2 th = Tweet.human_attrbute_name(:title) 3 th = sort_link(@q, :created_at) 4 5- @tweets.each.do |tweet| 6 tr 7 td = tweet.title 8 td = tweet.created_at 9 end
試したこと
試しにtitleカラムにsort_linkを設定したところ問題なくソートされることを確認しました。
更にidカラムとupdeted_atカラムにも設定してみたところ、こちらはcreated_at同様にソートがされませんでした。
[Rails]ransackでセレクトボックスを使ってソートする
上記記事の方法も試してみましたが、やはりtitleカラム以外のカラムはソート出来ませんでした。
Railsで自動生成されるカラムはsort_linkに設定できないとかあるのでしょうか?
分かる方がいましたら是非、ご教授の方よろしくお願い致します。
補足情報(FW/ツールのバージョンなど)
Rails 6.0.2.2
mysql Ver 8.0.19
ransack (2.3.2)
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。