Я хотел бы вызвать метод получения атрибута для активного объекта записи и сделать так, чтобы он возвращал коллекцию строк, а не коллекцию пользовательских объектов.
например.
person.favourite_song_titles => ["Somewhere over the rainbow","Beat it","Poker face"]
НЕ
person.favourite_song_titles => [#FavouriteSongTitle name: "Somewhere over the rainbow",#FavouriteSongTitle name:"Beat it",#FavouriteSongTitle name:"Poker face"]
Я не хочу определять класс "FavouriteSongTitles" и делать "has_many" и "own_to", так как с этими значениями нет поведения.
В идеале я бы хотел таблицы:
create_table "people" do | t |
#some attributes defined here
end
create_table "favourte_song_titles" | t |
t.column "person_id", :integer
t.column "value", :string
end
И некоторый объединяющий синтаксис, который в моем воображении будет выглядеть так:
Class Person < ActiveRecord::Base
has_many :favourite_song_titles, :class_name => "String", #some config to tell active record which table/column to use
end