私は自分が望むタスクを自分のカスタマイズしたリストに追加できるようなレールアプリを開発しています。各タスクは、0以上のカテゴリに属することもできます。これまでのところ私はこれを試してみた:Rails association - 既存のリストからのカスタマイズされたリスト
_migration.rbuser.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
[タイムスタンプ}
create_table :user_lists do |t|
t.integer :user_id
t.integer :task_id
t.timestamps null: false
end
私が午前問題は、私は次のクエリを使用しているとき、それは列tasks.user_list_id
を見つけることができませんUser.find(1).tasks
を実行しようとするコンソールである:
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テーブルのtasks id。アソシエーションは正しいのですか?もしそうなら、私はクエリを変更するために何ができますか?
ですか? 'task'テーブルに' user_id'を置くだけではなく、複数のuser_listにタスクを追加できるので、 'user_tasks'は不要です@ – lusketeer
@lusketeer –