希望每個人都做得很好。
其實我是Rails的新手。我正在為練習目的制作 mcqs 型別的應用程式。我為此目的使用設計。我用設計創建用戶模型,用設計創建控制器。
但是在不使用控制器的情況下,我的應用程式運行良好,但我可以從一頁重定向到我愿意的頁面。就像我想從注冊重定向到登錄頁面,但它沒有將我從注冊重定向到登錄。當我使用控制器時,它說引數錯誤,當我洗掉引數錯誤時,它顯示引數錯誤。 我不知道該怎么做請幫助我如何從一個頁面重定向到另一個頁面。
謝謝。
uj5u.com熱心網友回復:
您需要更改設計registrations控制器的路線
devise_for :users, controllers: { registrations: 'registrations' }
并將其添加RegistrationsController到您的控制器和after_sign_up_path_for方法中,并使用重定向路徑。
# app/controllers/registrations_controller.rb
class RegistrationsController < Devise::RegistrationsController
protected
def after_sign_up_path_for(resource)
new_user_session_path
end
end
注意:如果您devise :confirmable在User模型中使用,則需要覆寫after_inactive_sign_up_path_for
# app/controllers/registrations_controller.rb
class RegistrationsController < Devise::RegistrationsController
protected
def after_inactive_sign_up_path_for(resource)
new_user_session_path
end
end
并且不要忘記重新啟動服務器。
uj5u.com熱心網友回復:
如果是 Rails 7,覆寫設計表單 (rails g devise:views) 和自定義視圖。您將編輯registrations/new和sessions/new
form_for(resource, as: resource_name, url: session_path(resource_name) ) do |f|
代替
form_for(resource, as: resource_name, html: {'data-turbo' => "false"}, url: session_path(resource_name) ) do |f|
并更改 config/initializers/devise.rb
config.navigational_formats = ['*/*', :html, :turbo_stream]
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/495316.html
