Tôi đang sử dụng Rails 3 và Devise để tạo một ứng dụng mà người dùng đến trang web và được hiển thị một trang chủ có chứa thông tin đăng nhập và biểu mẫu đăng ký. Trang này có bộ điều khiển riêng của mình ("trang chủ") vì vậy tuyến đường làRails 3 w/Devise: Cách đặt hai trang chủ riêng dựa trên việc người dùng có được xác thực hay không?
root :to => "homepage#index"
Tôi muốn hiển thị một trang web khác nhau nếu người dùng đã đăng nhập. Điều này sẽ chiếm tới có điểm gốc để
root :to => "dashboard#index"
Có cách nào để có tuyến đường có điều kiện trong routes.rb, điều đó có cho phép tôi kiểm tra xem người dùng có được xác thực trước khi định tuyến cho một trong những trang chủ đó không?
Tôi đã thử sử dụng mã sau nhưng nếu tôi không đăng nhập, hãy đề nghị tôi đăng nhập, vì vậy chỉ rõ ràng tuyến đường đầu tiên hoạt động.
authenticate :user do
root :to => "dashboard#index"
end
root :to => "homepage#index"
Ngoài ra, tôi muốn url trỏ đến www.example.com trong cả hai trường hợp, để www.example.com/dashboard/index và www.example.com/homepage/index không bao giờ xuất hiện trong trình duyệt.
Cảm ơn một triệu !!!
Cảm ơn rất nhiều @Bradley, điều này đã giết chết tôi :) –
Tôi làm như vậy, nhưng cả người dùng đã đăng nhập và người dùng chưa đăng nhập đã sử dụng dashboard # index –
Cảnh báo: Thao tác này không hoạt động với Rails 4, bạn nhận được thông báo lỗi: 'Tên tuyến đường không hợp lệ, đã được sử dụng: 'root'' – Happynoff