#ruby-on-rails #rss
#ruby-on-rails #RSS-канал
Вопрос:
У меня есть блог Rails, использующий friendly_id для создания пользовательских URL-адресов. В блоге есть RSS-канал.
Когда я редактирую заголовок записи в блоге, URL меняется соответствующим образом. Затем в Google Reader я получаю новую ленту с измененным названием.
Есть ли способ сообщить читателям канала, что лента не новая?
Мой index.rss.builder выглядит следующим образом:
xml.instruct! :xml, :version => "1.0"
xml.rss :version => "2.0" do
xml.channel do
xml.title 'My blog title'
xml.link posts_url(:format => :rss)
for post in @posts
xml.item do
xml.title post.title
xml.description textilize(post.body)
xml.pubDate post.created_at.to_s(:rfc822)
xml.link post_url(post)
xml.guid post_url(post)
end
end
end
end
Ответ №1:
guid
Элемент используется читателями ленты, чтобы определить, является ли публикация новой или нет.
Возможно, вместо URL-адреса вам следует использовать идентификатор записи для GUID, поскольку он не изменится при редактировании записи. Вам нужно будет сообщить читателям, что GUID больше не является постоянной ссылкой, и тогда они будут использовать link attribute
вместо этого.
xml.guid "my_blog_title_post_#{post.id}", :isPermaLink => false