2015-01-15 5 views
15

In dem Rails 4.1.1 Version einer App, ich habe folgenden create-Methode in articles_controller:Warum gibt es eine falsche Anzahl von Argumenten Fehler bei der Verwendung von redirect_to in Rails 4.2?

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 

jedoch nach dem Update 4.2 die folgenden Fehlerkonten Rails, wenn die Umleitung versucht wird:

wrong number of arguments (2 for 1)

Warum tritt dieser Fehler auf und wie kann er behoben werden?

+0

Ich laufe tatsächlich in diesen nach einem kürzlichen 4.2 Upgrade, aber ich bin nicht turbolinks verwenden. – maxhs

Antwort

46

Das Problem wurde durch die Gemfile verursacht, die eine veraltete Version von Turbolinks (2.2.2) enthält. Ich habe das Problem gelöst, indem ich Turbolinks auf Version 2.5.3 aktualisiert habe.

In Gemfile:

gem 'turbolinks', '~> 2.5.3'

+4

Wow. Dieser war wirklich schwer zu finden, ich verbrachte ungefähr 2 Stunden damit, nicht zu wissen, was ich mit diesem Fehler machen sollte. Vielen Dank für diese Antwort. – jmarceli

+4

Ich habe dies festgestellt, als ich auf 4.2 aktualisiert habe und alle meine Tests, bei denen assert_redirected_to plötzlich fehlschlägt. Ich bin seit ungefähr 3 Stunden dabei, also danke OP für die Beantwortung Ihrer eigenen Frage. – Rystraum

Verwandte Themen