1
Я хочу добавить виртуальный атрибут к объекту activerecord. Просто определить геттер/сеттер, но я хочу, чтобы мой атрибут появлялся в атрибутах хэш (и attribute_names и т. Д.). Поскольку это рельсы 4, я не могу использовать attr_accessible.Как добавить виртуальный атрибут к атрибутам Hash in Rails 4
Что еще нужно добавить к этому коду, чтобы я мог ссылаться на reference.attributes и есть ли у него значение авторов?
class Reference < ActiveRecord::Base
def authors
self.author_names.to_a.join(' and ')
end
def authors=(val)
self.author_names.destroy
val.strip.split(/(?:[ ]and[ ])|\;/).each {|entry|
self.author_names << AuthorName.new(name: entry)
}
end
end
При каком контексте вы хотите «атрибут появляться»? Атрибуты 'attr_accessor' могут использоваться с' form_for' и массово назначены в '.update()'. –
Обе назначенные массы и в ответ на .трибуты –
Просто установите 'attr_accessor: authors' –