ActionView::Template::Error (wrong number of arguments (1 for 0)) with atom_feed after upgrading to rails 3.1.0

跟風遠走 提交于 2019-12-19 07:52:37

问题


I've just upgrade my rails application from the 3.0.7 version to the release candidate 3.1.0 and I got a strange error located in my atom feed builder:

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'

It seems to need an argument in the atom_feed method, but I tried to put something in it and it hasn't fixed the problem. It worked before the upgrade.


回答1:


Builder 3.0 is not compatible with fast_xs 0.8.0 on ruby 1.8.7 and will give this error. Perhaps you have that installed? (also note that Hpricot bundles fast_xs 0.8.0)

(edit:) you can monkey patch it by dropping this in your config dir:

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


来源:https://stackoverflow.com/questions/6141269/actionviewtemplateerror-wrong-number-of-arguments-1-for-0-with-atom-feed

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!