Я пытаюсь аппроксимировать полиморфные отношения в Rails 3 с ассоциацией has-and-to-many-many (HABTM).Rails 3 HABTM - объект пересечения доступа
Таблица пересечения (user_favorites) имеет следующие поля: user_id, favorite_id, favorite_class
В классе пользователя, у меня есть отношения, определенные:
has_and_belongs_to_many :favorite_users, :class_name => "User", :join_table => "user_favorites", :association_foreign_key => "favorite_id", :foreign_key => "user_id", :conditions => "user_favorites.favorite_class='User'"
Для получения данных, это работает, как ожидалось. К сожалению, это определение не добавит значения favorite_class, которые мне нужны («Пользователь» в этой ситуации).
Есть ли способ, возможно, используя Arel, установить поле favorite_class в нужное значение до сохранения записи?
Не вниз, но я рекомендую против этого. Рельсы зависят от следующих соглашений. выполнение sql-вставок, подобных этому, - это подход PHP, который не рекомендуется для профессионального кода производства. –