我是Ruby on Rails的初學者。我有一個關於組織對象和類的問題。在Ruby中組織類和對象?
我有了幾個字段,如作者,關鍵詞,日期等的文章類
的問題是,我要組織這些文章的對象,以便能夠共同對它們進行分析。這些文章來自不同的來源,我希望能夠根據來源訪問它們。
我猜我可以爲ArticleSource創建一個新類,並通過has_one或embeds_one之類的關係將其與Article類關聯。我做對了嗎,還是有更好的辦法?
在此先感謝!
我是Ruby on Rails的初學者。我有一個關於組織對象和類的問題。在Ruby中組織類和對象?
我有了幾個字段,如作者,關鍵詞,日期等的文章類
的問題是,我要組織這些文章的對象,以便能夠共同對它們進行分析。這些文章來自不同的來源,我希望能夠根據來源訪問它們。
我猜我可以爲ArticleSource創建一個新類,並通過has_one或embeds_one之類的關係將其與Article類關聯。我做對了嗎,還是有更好的辦法?
在此先感謝!
我覺得has_many
和belongs_to
會做你想要什麼。
添加article_source_id
列到第表後,你的類會是這個樣子:
class ArticleSource
has_many :articles
end
class Article
belongs_to :article_source
end
然後你就可以共同使用這樣的代碼分析文章:
source = ArticleSource.find_by_name("New York Times");
articles = source.articles
我想你應該看看這裏的單表繼承。
保持文章的超類,它繼承到子類作爲ExtertArticle(源專家)和StudentArticle等等
參考:http://api.rubyonrails.org/classes/ActiveRecord/Base.html
我認爲這比需要更復雜。你爲什麼認爲「來源」應該是文章的這樣一個特殊屬性,應該像這樣對待?如果開發者擁有「格式」等其他屬性(例如網絡,雜誌,博客文章);是什麼讓「源」比「格式」更重要? –
你是什麼「來源」的定義? 「紐約時報」會成爲一個文章來源嗎? –