Üreten 3 Raylar yem RSS
3 Raylar beslemeleri oluşturmak için en iyi uygulama/standart bir model arıyorum. http://railscasts.com/episodes/87-generating-rss-feeds hala geçerli mi?
CEVAP
Öncelikle, bugünlerdeRSS yerine bir ATOM yem kullanmanızı tavsiye ederim.
ATOM besleme özellikleri uluslararası, içerik türleri ve diğer şeyler ile RSS birden fazla değer sunarveher modern besleme okuyucu destekler.
Daha fazla bilgi:
- Wikipedia ATOM entry
- PRO Blogger Free Marketing Zone konu ile ilgili mesajlar blog
Üzerinde kodlama:
Bu örnek, varsayar:
- bir model
NewsItem
denilen aşağıdaki öznitelikleri ile:title
content
author_name
- hangi
feed
eylem ekleyeceksiniz bu model (news_items_controller.rb
) için bir denetleyici
Bu ve çok faydalı olan Raylar üzerinde Yakut atom_feed helper builder şablonu kullanacağız.
1. Denetleyici eylemi ekleyin
app/controllers/news_items_controller.rb
gidin ve ekleyin:
def feed
# this will be the name of the feed displayed on the feed reader
@title = "FEED title"
# the news items
@news_items = NewsItem.order("updated_at desc")
# this will be our Feed's update timestamp
@updated = @news_items.first.updated_at unless @news_items.empty?
respond_to do |format|
format.atom { render :layout => false }
# we want the RSS feed to redirect permanently to the ATOM feed
format.rss { redirect_to feed_path(:format => :atom), :status => :moved_permanently }
end
end
2. Kurulum oluşturucu şablonu
Şimdi yem oluşturmak için şablon Ekle.
app/views/news_items/feed.atom.builder
gidin ve ekleyin:
atom_feed :language => 'en-US' do |feed|
feed.title @title
feed.updated @updated
@news_items.each do |item|
next if item.updated_at.blank?
feed.entry( item ) do |entry|
entry.url news_item_url(item)
entry.title item.title
entry.content item.content, :type => 'html'
# the strftime is needed to work with Google Reader.
entry.updated(item.updated_at.strftime("%Y-%m-%dT%H:%M:%SZ"))
entry.author do |author|
author.name entry.author_name
end
end
end
end
3. Bu yol ile Tel
Hadi http://domain.com/feed beslemeleri kullanılabilir hale getirmek
Bu varsayılan olarak ATOM biçimi ile eylem çağrısı /feed.atom
14 *yönlendirecektir.
config/routes.rb
gidin ve ekleyin:
resources :news_items
match '/feed' => 'news_items#feed',
:as => :feed,
:defaults => { :format => 'atom' }
4. ATOM ve RSS bağlantısını düzenine beslemeleri ekleyin
Son olarak, tüm sol düzeni beslemek eklemektir.
app/views/layouts/application.html.erb
gidip <head></head>
bölüm bu: ekleyin
<%= auto_discovery_link_tag :atom, "/feed" %>
<%= auto_discovery_link_tag :rss, "/feed.rss" %>
Bu bir iki yazım hatası da olabilir, bana eğer bu sizin için çalışır bildirin.
Yükleme Raylar App 3 Bootstrap...
Raylar korumalı ve özel yöntemler...
Ruby bir model içinde örnein erişim Ra...
Raylar göçler 3: Ekleme referans sütun...
Nasıl Raylar to_json geçersiz kılmak i...