[英]Rails 3 routing help no route matches
我正在創建一個RSS feed。 我看到此錯誤:
ActionController::RoutingError in Konkurrancers#feed
Showing C:/Rails/konkurranceportalen/app/views/konkurrancers/feed.atom.builder where line #7 raised:
No route matches {:action=>"show", :controller=>"konkurrancers", :id=>#<Konkurrancer id: 51, name: "Vind et rejsegavekort p\xC3\xA5 helt op til 25.000 Kroner...", banner1: "http://dk.orvillemedia.com/ads/banners/488/728x90.j...", banner2: "http://dk.orvillemedia.com/ads/banners/488/125x125....", deadline: nil, tracking: "http://dk.orvillemedia.com/ads/m/fdm_rejsegavekort_...", vaerdi: 25000, arrangeor: "Orville", note: "", udtraekkes: "2011-07-01 00:00:00", created_at: "2011-03-17 08:13:41", updated_at: "2011-04-23 19:15:58", kategori_id: 9, cached_slug: "vind-et-rejsegavekort-p\xC3\xA5-helt-op-til-25000-kroner-...", tid: "30 sek", form: "Nyhedsbrev", partner: "Orville", bedom: 5, rating_score: 104, ratings: 25, rating: 0>}
Extracted source (around line #7):
4:
5: for konkurrancer in @posts
6: next if konkurrancer.updated_at.blank?
7: feed.entry(konkurrancer) do |entry|
8: entry.title(konkurrancer.name)
9: entry.updated(konkurrancer.updated_at.strftime("%Y-%m-dT%H:%M:%SZ"))
10: end
我的原子供稿生成器:
atom_feed do |feed|
feed.title("the dev station")
feed.updated(@posts.first.created_at) #omit .strftime
for konkurrancer in @posts
next if konkurrancer.updated_at.blank?
feed.entry(konkurrancer) do |entry|
entry.title(konkurrancer.name)
entry.updated(konkurrancer.updated_at.strftime("%Y-%m-dT%H:%M:%SZ"))
end
end
end
我的route.rb:
match '/feed' => 'konkurrancers#feed',
:as => :feed,
:defaults => { :format => 'atom' }
match '/:kategoris/:cached_slug' => 'konkurrancers#show', :as => 'konkurrance'
match '/:id' => 'kategoris#show'
而不是鏈接到konkurrancer的show action的RSS feed。 我希望它鏈接到我的konkurrancers表中的一列,該列名為URL跟蹤。
嘗試這個
feed.entry(konkurrancer, :id => konkurrancer.id) do |entry|
UPD
feed.entry(konkurrancer, :url => konkurrancer.tracking) do |entry|
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.