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

rea*_*per 5 ruby-on-rails feed atom-feed

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

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'
Run Code Online (Sandbox Code Playgroud)

它似乎需要在atom_feed方法中有一个参数,但我试图在其中加入一些东西并且它没有解决问题.它在升级之前有效.

Jan*_*n M 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
Run Code Online (Sandbox Code Playgroud)