Cố gắng chuyển hướng người dùng đến trang 'trang chủ' được liên kết của họ sau khi đăng nhập thành công bằng cách đăng xuất ... điều này mang lại cho tôi một số vòng chuyển hướng vô tận (chắc chắn tôi đã thiết lập sai).Devise gem in Rails: tạo user_root_path
Bất kể, tôi đang tìm một cách tiếp cận tốt hơn ...
Devise's docs nhà nước: Sau khi ký trong một người sử dụng, xác nhận tài khoản hoặc cập nhật mật khẩu, lập mưu sẽ tìm kiếm một gốc scoped đường dẫn để chuyển hướng. Ví dụ: Đối với tài khoản
:user
, tài khoản sẽ sử dụnguser_root_path
nếu có, nếu không mặc địnhroot_path
sẽ là được sử dụng. Điều này có nghĩa rằng bạn cần phải thiết lập gốc bên tuyến đường của bạn:root :to => "home"
Tôi sorta một newbie ... làm thế nào để đi về tạo home_root_path
này cho mỗi người dùng?
- (Object) after_sign_in_path_for (resource_or_scope)
Url mặc định sẽ được sử dụng sau khi đăng nhập này được sử dụng bởi tất cả các lập mưu điều khiển và bạn có thể ghi đè lên nó trong ApplicationController của bạn để cung cấp móc tùy chỉnh cho tài nguyên tùy chỉnh . Theo mặc định, trước tiên nó cố gắng tìm một resource_root_path, nếu không nó sẽ sử dụng đường dẫn gốc. Đối với một phạm vi sử dụng , bạn có thể xác định địa chỉ mặc định theo cách sau:
map.user_root '/users', :controller => 'users' # creates user_root_path map.namespace :user do |user| user.root :controller => 'users' # creates user_root_path end
nhưng những chỉ mang lại cho tôi undefined local variable or method
bản đồ' cho #ActionDispatch :: Routing :: Mapper: ... `lỗi.
Bạn đang sử dụng phiên bản đường ray nào? Các bit after_sign_in_path_for ở trên đang sử dụng cú pháp định tuyến đường ray 2.x. Nếu bạn đang sử dụng đường ray 3.x, thì chúng có thể gây ra sự cố. – encoded