私はMVCフレームワークに少し慣れていないので、MVCフレームワークを使用する際のベストプラクティスを知る必要があります。
news_title、news_publish_date、news_urlなどのフィールドを含むNewsFeedというモデルクラスがあります。
class NewsFeed < ActiveRecord::Base
attr_accessible :description, :feed_id, :link, :publish_date, :title
def save_news_info(feed_id, news_title, news_link, news_publish_date, news_description)
self.feed_id = feed_id
self.title = news_title
self.link = news_link
self.publish_date = news_publish_date
self.description = news_description
end
end
タスクは、RSSフィードを読み取り、そこに含まれるすべてのニュースを収集することです。そこで、FeedReaderというクラスを作成し、そのクラスでgemfeedzirraを使用してフィードリンクを解析しています。
class FeedReader
attr_accessor :title, :url, :publish_date, :news_array
def initialize(feed_url)
@url=feed_url
end
def read
feed = Feedzirra::Feed.fetch_and_parse(@url)
@title = feed.title
@url = feed.feed_url
@publish_date = feed.last_modified
end
end
私の質問は、これがmodel(NewsFeed)クラスのように別のクラスを持ち、そこに読み取り関数を持つのが良い習慣であるかどうか、またはモデルクラスで読み取り関数を宣言してFeedReaderを削除する必要があるかどうかです。(モデルクラスに機能を入れすぎるのは嫌だと読んでいます!!)そして将来的にはすべての機能(ニュースの説明のサニタイズ、特定のタグの削除など)がモデルクラスにコード化され、モデルクラスはどんどん大きくなります。