У меня есть класс с именем Story
, связанный с классом с именем User
.
У меня также есть класс под названием Parser
, который расширяет Story с помощью возможностей анализа (например, нахождение существительных).
class User < ActiveRecord::Base
has_many :stories
end
class Story < ActiveRecord::Base
belongs_to :user
attr_accessible :title, :content
end
class Parser < Story
def find_nouns
self.content.do_something
end
end
Скажем, я хочу создать новую историю для первого пользователя в моей базе данных. Обычно, я бы просто сделал это, используя
User.first.stories.new(:title => 'Foo', :content => 'Bar')
Как бы мне этого добиться и все же элегантно связать запись с первой историей?
Что-то вроде этого:
User.first.stories.new(:title => 'Foo', :content => 'Bar').find_nouns
Проблема в том, что базовый класс не имеет доступа к методу find_nouns
- он принадлежит StoryParser.