Je travaille sur un site qui affichera une liste d'articles de blog récents sur la page d'accueil.
Quelle serait la meilleure approche pour la mise en cache et la mise à jour de la liste des articles de blog ? Je dois également m'assurer qu'il échoue de manière gracieuse dans le cas où l'url du flux est en panne ou ne peut pas être analysé pour une raison quelconque.
Je suis également à la recherche d'avis sur la manière et l'endroit où structurer ce code puisque je suis nouveau dans Rails et ses conventions (ex : dois-je créer un helper ? dois-je le placer dans un module ? etc).
Voici le code que j'ai :
require 'simple-rss'
require 'open-uri'
class PagesController < ApplicationController
def home
rss = SimpleRSS.parse(open("#{Settings.my_site.blog_feed}"))
@blog_posts = []
rss.channel.items[0..4].each_with_index do |item, index|
@blog_posts[index] = {
title: item.title,
link: item.link,
pub_date: item.pubDate
}
end
render layout: 'home'
end
La vue :
#blog-updates
%h2
%span.sprite>
Latest Blog Posts
%ul
- @blog_posts.each do |blog|
%li
=link_to truncate("#{blog[:title]}".html_safe, length: 75, seperator: ' ', omission: "…"), "#{blog[:link]}"