2011-04-25 50 views
0

当我访问的myapp /饲料在浏览器中我得到这个错误:Rails 3中帮助原子送入错误:未定义的方法`atom_feed”

NoMethodError in Konkurrancers#feed 

Showing C:/Rails/konkurranceportalen/app/views/konkurrancers/feed.atom.builder where line #1 raised: 

undefined method `atom_feed' for #<#<Class:0x595dee0>:0x5956f08> 

Extracted source (around line #1): 

1: atom_feed :language => 'en-US' do |feed| 
2: feed.title @title 
3: feed.updated @updated 

我的控制器:

def feed 
    # this will be the name of the feed displayed on the feed reader 
    @title = "Vindhimlen nye GRATIS konkurrencer" 

    # the news items 
    @news_items = Konkurrancer.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 

我路线:

match '/feed' => 'konkurrancers#feed', 
     :as => :feed, 
     :defaults => { :format => 'atom' } 

我feed.atom.builder:

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")) 

     end 
    end 
    end 
+0

尝试做删除这一行'atom_feed:语言=> 'EN-US' 做|饲料|'和retyoe它再次。看起来像还有隐藏的非UTF-8符号 – fl00r 2011-04-25 14:02:09

+0

仍然收到错误 – 2011-04-25 14:04:36

+0

Windows?什么文本编辑器? – fl00r 2011-04-25 14:05:40

回答

0

''是错误解释的控制字符。尝试添加#coding: UTF-8第一线(不要忘了)到feed.atom.builder

+0

我已将#coding:UTF-8添加到第一行。仍然得到错误:提取的源代码(第1行左右):#coding:UTF-8 – 2011-04-25 14:02:14

相关问题