2011-12-01 32 views
22

Tôi đang sử dụng thiết lập và có câu hỏi nhanh. Làm thế nào tôi có thể chuyển hướng: authenticate_user! before_filter đến trang đăng ký người dùng thay vì đăng nhập? Tôi đã trải qua https://github.com/plataformatec/devise/blob/master/lib/devise/controllers/helpers.rb nhưng chưa có nhiều may mắn để tìm ra giải pháp.Chuyển hướng Devise before_filter: authenticate_user để đăng nhập đường dẫn

Trả lời

8

Bạn sẽ phải tạo một FailureApp tùy chỉnh được thừa kế từ FailureApp lập mưu như nhìn thấy ở đây: https://github.com/plataformatec/devise/wiki/How-To:-Redirect-to-a-specific-page-when-the-user-can-not-be-authenticated

+1

Vấn đề với cách tiếp cận này (đối với một trong liên kết này ít nhất) là nó đẩy bạn để đăng ký nếu bạn thất bại trong việc đưa vào mật khẩu của bạn một cách chính xác trên đăng ký (ví dụ) ... –

+0

này là tốt nhất thực hành câu trả lời, không kết quả để thực hiện riêng 'before_filter' giải pháp! – equivalent8

45

Tôi đã có một vấn đề tương tự mà tôi cần phải chuyển hướng đến đăng ký nếu người dùng không đăng nhập. Tôi đã sửa nó bằng cách thêm một phương thức vào application_controller.rb và sử dụng nó như một bộ lọc trước trong các bộ điều khiển khác.

Hãy nhớ rằng đó là giải pháp tạm thời hơn vì nó bỏ qua một loạt các sự trừu tượng của nhà phát triển.

 

before_filter :auth_user 

    def auth_user 
    redirect_to new_user_registration_url unless user_signed_in? 
    end 
 
+0

Cảm ơn! Điều này đã làm việc! : D – Sheharyar

+0

Vui vì tôi có thể giúp =) – Baconator507

+2

Đây phải là câu trả lời được chấp nhận. –

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