Sử dụng ray 3.2 và devise 3.2.3 tôi quản lý để thiết lập trang của tôi về nhà "nhà # index" (điều khiển # hành động) như trang đăng nhập làm cho những thay đổi sau.
# 1 gia tăng các hình thức đăng nhập vào trang chủ:
<%= simple_form_for(resource, as: resource_name, url: session_path(resource_name)) do |f| %>
<%= f.input :email %>
<%= f.input :password %>
<%= f.button :submit %>
<% end %>
# 2 thêm phương pháp RESOURCE_NAME, tài nguyên và devise_mapping để app/heldpers/application_helper.rb:
def resource_name
:user
end
def resource
@resource ||= User.new
end
def devise_mapping
@devise_mapping ||= Devise.mappings[:user]
end
# 3 Tạo một phiên tùy chỉnh điều khiển app/controllers/người dùng/sessions_controller.rb:
class Users::SessionsController < Devise::SessionsController
protected
# This method tell sessions#create method to redirect to home#index when login fails.
def auth_options
{ scope: resource_name, recall: 'home#index' }
end
end
# 4 Bỏ qua các tuyến đường phiên và thiết lập các tùy chỉnh bộ điều khiển phiên trong cấu hình/tuyến đường.rb:
devise_for :users, path: 'auth', skip: [:sessions],
controllers: {
sessions: 'users/sessions'
}
as :user do
get 'auth/sign_in' => 'home#index', as: :new_user_session
post 'auth/sign_in' => 'users/sessions#create', as: :user_session
delete 'auth/sign_out' => 'users/sessions#destroy', as: :destroy_user_session
end
Nguồn
2014-06-20 18:31:14
này đã gửi cho tôi ra khỏi một vòng lặp vô hạn, đọc thân mến người có cùng một vấn đề, bước tiếp theo của câu trả lời là ở đây http://stackoverflow.com/questions/19855866/how-to-set-devise-sign-in-page-as-root-page-in-rails – Jngai1297