Я разрабатываю приложение rails, где пользователи могут добавлять задачи, которые они хотят сделать, в собственный собственный список. Каждая задача может также принадлежать 0 или более категориям. До сих пор я попытался это:Rails association - Индивидуальный список элементов из существующего списка
user.rb
has_one :user_list
has_many :tasks, through: :user_list
user_list.rb
belongs_to :user
has_many :tasks
tasks.rb
has_and_belongs_to_many :categories
[временная метка} _migration.rb
create_table :user_lists do |t|
t.integer :user_id
t.integer :task_id
t.timestamps null: false
end
Проблема, которую я имею в консоли я пытаюсь запустить User.find(1).tasks
он не может найти столбец tasks.user_list_id
при помощи следующего запроса:
SELECT "tasks".* FROM "tasks" INNER JOIN "user_lists" ON "tasks"."user_list_id" = "user_lists"."id" WHERE "user_lists"."user_id" = ? [["user_id", 1]]
Этот запрос должен присоединяться идентификатор задачи из таблицы задач с id задач в таблице user_lists. Правильны ли ассоциации, и если да, то что я могу сделать, чтобы изменить запрос?
у вас есть 'user_list_id' на задачах? почему бы просто не поместить 'user_id' в таблицу' tasks', тогда вам не понадобится 'user_tasks' – lusketeer
@lusketeer, потому что задача может быть добавлена к нескольким пользовательским спискам –