Ruby/Rails lentelių asociacijos
Išvaizda
< Ruby
# projects(id, title) # tasks(id, project_id, title)
Project has_many :tasks
Task belongs_to :project
Kai turime daug su daug sąryšį:
has_and_belongs_to_many
class Project < ActiveRecord::Base belongs_to :portfolio has_one :project_manager has_many :milestones end
Our project objects are now able to respond to methods such as project.portfolio, project.has_project_manager?, and project.create_in_milestones("deadline" => Date.today + 5).
But how do we represent many-to-many relationships? Currently, it has the slightly clumsy macro of has_and_belongs_to_many, as illustrated below:
class Project < ActiveRecord::Base has_and_belongs_to_many :categories end
project.add_categories(critical, technical) project.categories_count project.has_categories?