Как сообщить читателям канала, что статья не новая, когда изменился ее URL?

#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