为什么在Rails 4.2中使用redirect_to会出现错误的参数数量?

15

在一个使用Rails 4.1.1版本的应用程序中,我在articles_controller中有以下的create方法:

def create
  @article = Article.new(article_params)
  authorize @article
  if @article.save
    flash[:notice] = "Successfully created article."
    redirect_to edit_article_path(@article)
  else
    render :new
  end
end

然而,在升级到Rails 4.2之后,尝试重定向时会出现以下错误:

参数个数错误(应为1个,实际传入了2个)

为什么会出现这个错误,如何解决?


我最近进行了4.2升级,但没有使用turbolinks,现在遇到了这个问题。 - maxhs
1个回答

49

问题是由于Gemfile中包含了过时版本的Turbolinks(2.2.2)导致的。我通过升级Turbolinks到2.5.3版本解决了这个问题。

在Gemfile中:

gem 'turbolinks', '~> 2.5.3'


4
哇,这个真的很难找到,我花了大约2个小时不知道该如何处理这个错误。非常感谢您的答案。 - jmarceli
4
我在升级到4.2版本后遇到了这个问题,我所有包含assert_redirected_to的测试突然都失败了。我已经花了大约3个小时来解决它,所以感谢原帖作者自己回答了这个问题。 - Rystraum
幸运的是,我在几分钟内就找到了这个。 - Smek

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接