在继承自Devise :: SessionsController的控制器中的自定义操作的路由中,我们可以使用Rails路由来定义自定义操作的路由。以下是一个示例:
# config/routes.rb
devise_for :users, controllers: { sessions: 'users/sessions' }
# app/controllers/users/sessions_controller.rb
module Users
class SessionsController < Devise::SessionsController
def custom_action
# 自定义操作的逻辑
end
end
end
# 在Rails应用中添加以下路由定义
get 'users/custom_action', to: 'users/sessions#custom_action'
在上面的示例中,我们定义了一个名为custom_action
的自定义操作,并在config/routes.rb
文件中添加了相应的路由定义。这将允许用户访问/users/custom_action
路径,并执行custom_action
方法。
在自定义操作中,您可以添加所需的逻辑,例如渲染视图、处理表单提交等。如果您需要在视图中访问Devise的辅助方法,请确保在视图中包含以下代码:
<%= form_for(resource, as: resource_name, url: session_path(resource_name)) do |f| %>
# 表单内容
<% end %>
这将确保表单使用正确的Devise资源和URL。
领取专属 10元无门槛券
手把手带您无忧上云