Xin lỗi lúc đầu tôi nghĩ bạn có nghĩa là sau khi Đăng ký không đăng nhập. Vì vậy, xuống dưới làm việc cho làm thế nào để hướng người dùng sau khi Đăng ký và những gì bạn cần làm để đăng nhập là tạo ra một tùy chỉnh Vạch :: FailureApp
Xem trang wiki: https://github.com/plataformatec/devise/wiki/How-To:-Redirect-to-a-specific-page-when-the-user-can-not-be-authenticated
Sau đó, trong tùy chỉnh của bạn FailureApp ghi đè lên redirect_url
phương pháp từ https://github.com/plataformatec/devise/blob/master/lib/devise/failure_app.rb:
def redirect_url
if warden_message == :unconfirmed
custom_redirect_path
else
super
end
end
Đối với chuyển hướng tùy chỉnh sau Đăng ký:
có một phương pháp điều khiển after_inactive_sign_up_path_for
trong RegistrationsContro mà bạn có thể ghi đè để thực hiện điều này.
đầu tiên trong tuyến đường của bạn, bạn sẽ cần phải xác định để sử dụng điều khiển tùy chỉnh của bạn:
config/routes.rb
:
devise_for :users, :controllers => { :registrations => "users/registrations" }
Thứ hai bạn tạo bộ điều khiển tùy chỉnh của bạn mà được thừa hưởng từ bộ điều khiển bình thường để ghi đè lên phương pháp :
app/controllers/users/registrations_controller.rb
class Users::RegistrationsController < Devise::RegistrationsController
protected
def after_inactive_sign_up_path_for(resource)
signed_up_path
end
end
Trong trường hợp này đối với ứng dụng của tôi, mô hình Devise của tôi là Người dùng, do đó bạn có thể muốn thay đổi không gian tên đó nếu mô hình của bạn được đặt tên khác. Tôi muốn người dùng của mình được chuyển hướng đến signed_up_path
, nhưng bạn có thể thay đổi điều đó thành đường dẫn mong muốn của mình.
Một câu hỏi: làm thế nào tôi có thể tìm thấy những tài khi ông có thể đăng nhập với Tên truy nhập hoặc email? Vì vậy, bạn nhận được ': login' như tham số, có thể là email người dùng hoặc tên người dùng. – jonhue