Прямо сейчас у меня есть один канал RSS, который получает список эпизодов, которые принадлежат метро. Я хотел бы создать канал RSS на метро . Итак, city1.rss, city2.rss, city3.rss, cityN.rss.
rout.rb
resources :metros do
collection do
get :feed
end
end
metros_controller.rb
def feed
@metros = Metro.all
@episodes = Episode.published.order("created_at DESC")
@metros.each do |metro|
metro.rss { render action: :index, name: @metro.name }
end
end
index.rss.builder
xml.rss :version => "2.0", "xmlns:itunes" => "http://www.itunes.com/dtds/podcast-1.0.dtd", "xmlns:media" => "http://search.yahoo.com/mrss/", "xmlns:atom" => "http://www.w3.org/2005/Atom" do
xml.channel do
xml.title title
xml.description description
xml.language 'en'
xml.pubDate @episodes.first.created_at.to_s(:rfc822)
xml.lastBuildDate @episodes.first.created_at.to_s(:rfc822)
xml.itunes :author, author
xml.itunes :keywords, keywords
xml.itunes :explicit, 'clean'
xml.itunes :image, :href => image_url('cover.jpg')
xml.itunes :owner do
xml.itunes :name, author
end
xml.itunes :block, 'no'
xml.itunes :category, :text => 'News' do
xml.itunes :category, :text => 'News'
end
@episodes.each do |episode|
xml.item do
xml.title episode.title
xml.description episode.description
xml.pubDate episode.created_at.to_s(:rfc822)
xml.enclosure :url => episode.s3, :length => 5, :type => 'mp3'
xml.link episode_url(episode)
xml.guid({:isPermaLink => "false"}, episode_path(episode))
xml.itunes :author, author
xml.itunes :subtitle, truncate(episode.description, :length => 150)
xml.itunes :summary, episode.description
xml.itunes :explicit, 'no'
xml.itunes :duration, 5
end
end
end
end
Я получаю ошибку:
неопределенный метод `rss 'для #Metro: 0x00007faaaa96b278