前提・実現したいこと
現在初めてのウェブアプリでToDoアプリを作っています。
taskはlistにネストさせていて、list/indexページでtaskで表示させている時間を早いもの順に並び替えたいのですがうまいこといきません。
発生している問題・エラーメッセージ
taskで表示させている時間を早いもの順に並び替えたい
この時間を早いもの順に並び替えたいです。
該当のソースコード
Lists.controller.rb
ruby
1def index 2 @lists = List.where(user: current_user).order("created_at ASC") 3 List.joins(:task).includes(:task).order("tasks.time ASC") 4 end
list.rb
ruby
1class List < ApplicationRecord 2 belongs_to :user 3 has_many :tasks, dependent: :destroy 4 5 validates :title, presence: :true 6end 7
task.rb
ruby
1class Task < ApplicationRecord 2 belongs_to :list 3 belongs_to :user 4 5 validates :title, presence: :true 6 validates :memo, presence: :true 7end
マイグレーションファイル
ruby
1class CreateLists < ActiveRecord::Migration[6.0] 2 def change 3 create_table :lists do |t| 4 t.text :title, null: false 5 t.references :user, foreign_key: true 6 t.timestamps 7 end 8 end 9end
マイグレーションファイル
ruby
1class CreateTasks < ActiveRecord::Migration[6.0] 2 def change 3 create_table :tasks do |t| 4 t.string :title, null: false 5 t.text :memo, null: false 6 t.time :time 7 t.references :user, foreign_key: true 8 t.references :list, foreign_key: true 9 t.timestamps 10 end 11 end 12end 13
試したこと
Qiitaの記事には、モデル.joins(紐づけるテーブル名).includes(紐づけるテーブル名).order(紐づけるテーブル名.レカラム名)と記載してあったのですが、うまくいきません。
補足情報(FW/ツールのバージョンなど)
ここにより詳細な情報を記載してください。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/08/03 02:25
2020/08/03 03:58 編集
2020/08/04 11:48
2020/08/15 02:07