Tôi đang cố gắng xóa/tắt đường dẫn 'user/sign_up' từ Devise. Tôi đang làm điều này vì tôi không muốn những người ngẫu nhiên có quyền truy cập vào ứng dụng. có nó phần nào làm việc bằng cách thêm vào sau trong routes.rbCách xóa/tắt đăng ký từ Devise
Rails.application.routes.draw do
devise_scope :user do
get "/sign_in" => "devise/sessions#new" # custom path to login/sign_in
get "/sign_up" => "devise/registrations#new", as: "new_user_registration" # custom path to sign_up/registration
end
...
devise_for :users, :skip => :registration
end
Tuy nhiên, điều này phá vỡ <%= link_to "Profile", edit_user_registration_path, class: "btn btn-info btn-flat" %>
mà tôi muốn giữ lại để người dùng có thể cập nhật hồ sơ của họ. tôi biết đó là vì sự devise_for :users, :skip => :registration
Có giải pháp nào không Cho vấn đề này?
Chạy
lập mưu (4.2.0, 4.1.1, 4.1.0)
Rails 4.2.5
ruby 2.3.0p0 (2015/12/25 sửa đổi 53.290) [x86_64 -linux]
Bạn có thể sử dụng 'skip:: registerable' và chỉ thêm các tuyến đường bạn muốn. –
@AndreyDeineko, nếu tôi thêm 'skip:: registerable', nó sẽ kích hoạt' users/sign_up'. Làm cách nào để ngăn điều đó xảy ra? –
wiki phát triển [ở đây] (https://github.com/plataformatec/devise/wiki/How-Tos) rất hữu ích cho tất cả mọi thứ (tôi đã sử dụng nó để thiết lập trang web của mình chỉ cho phép một người dùng) – MageeWorld