Как создать атомную ленту в Rails 3? - PullRequest
4 голосов
/ 16 января 2011

Я пытаюсь настроить простой поток атомов из моей модели сообщений, и у меня возникают проблемы с переводом между рельсами 2 и рельсами 3.

Я попытался выполнить эту задачу в два этапа:

Добавлен <%= auto_discovery_link_tag(:atom) %> в мой файл /views/layouts/application.html.erb.

Создан файл /views/posts/index.atom.builder. Файл содержит:

atom_feed do |feed|   
  feed.title("Daily Deal")   
  feed.updated(@posts.first.created_at)
  @posts.each do |post|
    feed.entry(post) do |entry|
      entry.title(post.title)
      entry.content(post.body, :type => 'html')
      entry.author { |author| author.name("Justin Zollars")}
    end
  end
end

Я вижу ссылку RSS в своем браузере, но ссылка открывается с ошибкой:

  Too many redirects occurred trying to open
  “feed:http://localhost:3000/posts”.
  This might occur if you open a page
  that is redirected to open another
  page which then is redirected to open
  the original page.

Где я ошибся?

Ответы [ 2 ]

7 голосов
/ 17 января 2011

Попробуйте указать путь к ленте:

<%= auto_discovery_link_tag(:atom, posts_path(:atom)) %>
2 голосов
/ 17 января 2011

Может быть, вам нужно указать фактический адрес канала?

auto_discovery_link_tag :atom, "http://mysite.com/posts.atom"

Если вы используете FeedBurner, вместо этого вы захотите использовать этот адрес.

Кроме того, у вас есть какой-то before_filter, блокирующий доступ к этой странице?

...