#関連(Associationとは)
データベース上の紐付けを前提にして、モデルクラス同士の紐付けを定義することができる。
これにより、オブジェクト指向に沿った方法で関連するデータにアクセスすることができるようになる。
models/user.rb
class User
has_many :tasks
end
models/task.rb
class Task
belong_to :user
end
Userが親分、Taskが子分のイメージ。一つのUserに対して多くのTaskがぶら下がっていることを定義している。
##何ができる?
この定義によってUserクラスのインスタンスに対しては、user.tasksといったメソッドで紐づいたTaskオブジェクトの一覧を得られることができる。
例) ログインしているユーザーのTaskデータの登録
task_controller.rb
def create
@task = current_user.tasks.new(task_params)
end