Я новичок программист, много лет занимаюсь оболочкой, но недавно взял на себя программирование ООП с помощью Ruby и создаю приложение Rails.Usng Rails ActiveRecord relationship
Мне нелегко получить голову, обернутую тем, как использовать мои определенные отношения модели.
Я пробовал искать Google, но все, что я могу придумать, это в основном чит-листы для того, что has_many, belongs_to и т. Д. Все это означает. Это легко понять, потому что я много работал непосредственно с SQL.
Я не понимаю, как использовать эти определенные отношения.
В моем случае у меня есть 3 модели: Locations Хосты Услуги
отношения (не фактический код, просто для сокращения его):
Services
belongs_to :hosts
Hosts
has_many :services
belongs_to :locations
Locations
has_many :hosts
В этом случае я хочу, чтобы иметь возможность отобразите столбец из местоположений во время работы с Сервисами. В SQL это простое соединение, но я хочу сделать это Rails/Ruby, а также не использовать SQL в моем коде или переопределять мои соединения.
Кроме того, Сет правильно относится к отношениям, требующим надлежащего плюрализации. Кроме того, ваш запрос для местоположения, вероятно, будет отличаться от «first», но это хорошая иллюстрация того, как это будет достигнуто. –
Has_many through не будет работать, потому что таблица соединения не принадлежит каждой стороне владельца ... – sethvargo
Не правда.Он работает. Он генерирует этот запрос: SELECT «services». * FROM «services» INNER JOIN »принимает« ON »-службы» .host_id = «hosts» .id WHERE ((«hosts» .location_id = 1)) –