2013-05-17 31 views
20

Tôi đang sử dụng đưa ra cho xác thực người dùng Tuy nhiên, khi người dùng cố gắng để tạo ra một tài khoản Tôi nhận được lỗi này:.NameError (không xác định địa phương biến hoặc phương pháp 'devise_parameter_sanitizer'

NameError (undefined local variable or method `devise_parameter_sanitizer' 

Đây là những gì tôi devise đăng ký điều khiển trông giống như:

def sign_up_params 
devise_parameter_sanitizer.for(:sign_up) 
end 

Bất kỳ ý tưởng

Cảm ơn trước

+6

Vâng tôi nhận được cùng một hành vi, bạn có tìm thấy giải pháp nào cho vấn đề này không? –

+0

Tôi cũng đang gặp phải điều này –

+0

bạn có thể thêm đầu ra danh sách gem exec bó – DazBaldwin

Trả lời

3

Nhìn vào các vấn đề mở ra trên Github tôi tìm thấy điều này: https://github.com/plataformatec/devise/issues/2372 - dường như làm các trick cho tôi. lưu ý rằng đây có lẽ là một vấn đề đường ray 4.

+0

Trải nghiệm nó trên đường ray 3.2.x – Philip

+0

bạn có đang sử dụng phiên bản mới nhất không? –

1

Gem mới nhất được phát hành cho Devise tại thời điểm viết là 2.2.4. Điều này không bao gồm phương thức devise_parameter_sanitizer, do đó bạn gặp lỗi.

Có thể bạn đang làm theo hướng dẫn sử dụng để phát triển tại https://github.com/plataformatec/devise. Phần trên Rails 4 và Strong Parameters đã được thêm gần đây.

Bạn có một vài lựa chọn:

  1. Lấy phiên bản mới nhất của thạc sĩ lập mưu sử dụng bundler, do đó phương pháp devise_parameter_sanitizer có sẵn:

    gem 'devise', :git => 'git://github.com/plataformatec/devise.git'

  2. Không áp dụng ActiveModel::ForbiddenAttributesProtection với Mô hình người dùng của bạn, vì vậy các thông số mạnh mẽ thậm chí không được sử dụng. Thông tin thêm tại đây: Devise and Strong Parameters

  3. Ghi đè bộ điều khiển Devise theo yêu cầu trực tiếp. Xem ở đây: https://gist.github.com/kazpsp/3350730

6

cố gắng sử dụng rails4 chi nhánh

gem 'devise', github: 'plataformatec/devise', branch: 'rails4' 
2

Đối với bất cứ ai kết thúc ở đây với lỗi

undefined method `<<' for {}:ActionController::Parameters 

bạn cần phải nâng cấp lên Vạch 3.1.0.rc như ở this comment
về cơ bản có nghĩa là sử dụng phiên bản chi nhánh chính

gem 'devise', git: 'git://github.com/plataformatec/devise.git' 

hy vọng tôi sẽ giúp một số linh hồn bị mất như tôi đã làm trong nửa giờ qua.

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