2015-01-15 14 views
15

Trong Rails 4.1.1 phiên bản của một ứng dụng, tôi đã tạo ra những điều sau đây phương pháp trong articles_controller:Tại sao có sai số lỗi đối số khi sử dụng redirect_to trong 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 

Tuy nhiên, sau khi cập nhật lên Rails 4.2 các tài khoản lỗi sau khi chuyển hướng là cố gắng:

wrong number of arguments (2 for 1)

Tại sao lỗi này xảy ra và cách giải quyết lỗi này?

+0

Tôi đang thực sự chạy vào này sau khi nâng cấp gần đây 4.2, nhưng tôi không sử dụng turbolinks. – maxhs

Trả lời

46

Vấn đề là do Gemfile chứa phiên bản Turbolinks lỗi thời (2.2.2). Tôi đã giải quyết vấn đề bằng cách nâng cấp Turbolinks lên phiên bản 2.5.3.

Trong Gemfile:

gem 'turbolinks', '~> 2.5.3'

+4

Chà. Điều này thực sự khó tìm, tôi đã dành khoảng 2 giờ không biết phải làm gì với lỗi này. Rất cám ơn câu trả lời đó. – jmarceli

+4

Tôi đã gặp phải điều này khi tôi nâng cấp lên 4.2 và tất cả các thử nghiệm của tôi đã bị assert_redirected_to đột ngột thất bại. Tôi đã ở đây khoảng 3 giờ, vì vậy cảm ơn OP đã trả lời câu hỏi của riêng bạn. – Rystraum

Các vấn đề liên quan