升级到rails 3.1.0后,使用atom_feed的ActionView :: Template :: Error(错误的参数数量(1表示0))

时间:2011-05-26 15:42:05

标签: ruby-on-rails feed atom-feed

我刚刚将我的rails应用程序从3.0.7版本升级到候选版本3.1.0,我的原子源构建器中出现了一个奇怪的错误:

ActionView::Template::Error (wrong number of arguments (1 for 0)):
1: atom_feed do |feed|
2:   feed.title("site name")
3:  
4:   for post in @posts
app/views/posts/index.atom.builder:1:in `_app_views_posts_index_atom_builder___1517323884_2197638100'

似乎需要在atom_feed方法中使用一个参数,但我尝试在其中添加一些内容并且它没有解决问题。它在升级之前有效。

1 个答案:

答案 0 :(得分:9)

Builder 3.0与ruby 1.8.7上的fast_xs 0.8.0不兼容,会出现此错误。也许你已经安装了? (还要注意Hpricot捆绑fast_xs 0.8.0)

(编辑:)您可以通过在配置目录中删除它来修补它:

class String
  def fast_xs_absorb_args(*args); fast_xs; end
  alias_method :to_xs, :fast_xs_absorb_args
end