質問があります。誰かがこれを説明してくれることを願っています。関係の例:
class User < ActiveRecord::Base
has_many :issues
has_many :tasks, through: :issues
end
class Issue < ActiveRecord::Base
belongs_to :user
belongs_to :task
end
class Task < ActiveRecord::Base
has_many :issues
has_many :users, through: :issues
end
関連付けを通じていくつかのモデルを作成しようとします。
user = User.create
task = user.tasks.new
user.tasks # [#<Task id: nil, created_at: nil, updated_at: nil>]
task.users # []
質問 1. これは一方向の関連付けを意図したものですか、それとも間違ったことをしていますか?
user.tasks.new.save
SQL (0.3ms) INSERT INTO "tasks" ("created_at", "updated_at") ...
user.tasks.create
SQL (0.4ms) INSERT INTO "tasks" ("created_at", "updated_at") ..
SQL (0.4ms) INSERT INTO "issues" ("created_at", "task_id", "updated_at", "user_id") ...
質問 2: create メソッドだけがレコードを結合テーブルに追加するのはなぜですか?
前もって感謝します。