[Rails 3.1][Active Record] Klasa modelu będąca połączenie dwóch innych

Mam w swoim projekcie dwa modele: User i Company. Przyjąłem założenie, że partnerem jest użytkownik posiadający przypisaną firmę. Jak stworzyć model Active Record dla partnera, który będzie połączeniem użytkownika i firmy?

Może coś w tym rodzaju:

class Partner < ActiveRecord::Base
end

i teraz tak:

  • jakie opcje dodać, by korzystał z tabeli modelu User (nie chcę dziedziczyć po tym modelu, by nie posiadać jego metod)
  • jak stworzyć scope dla: tylko użytkownicy posiadający firmę
  • jak nadpisać wszystkie metody findera, by korzystał z zakresu: tylko użytkownicy posiadający firmę
  • jak rozwiązać kwestię aktualizacji i tworzenia nowych rekordów, np. z poziomu kontrolera?

Partner to jest użytkownik posiadający firmę tak ?

class Partner set_table_name :users default_scope where("company_id IS NOT NULL") end
Przy założeniu, że User ma 1 firmę.

Dokładnie!

A jak rozwiązać aktualizację istniejących i dodawanie nowych rekordów? A więc jeden hash z parametrami i dane lecą do dwóch modeli…

Chcesz aktualizować jednocześnie Partnera i firmę ? Najprościej przez http://api.rubyonrails.org/classes/ActiveRecord/NestedAttributes/ClassMethods.html