设计:如何从视图中调用“new_confirmation_path()”?

Devise: How do I call `new_confirmation_path()` from a view?

我看到这个 new_confirmation_path(resource_name) 在生成的 Devise 视图中被调用。

我想将其称为自定义视图。用户未登录。

new_confirmation_path(resource_name) 是生成 link 新确认页面的方法。

什么是resource_name

如何获取?

是否可以在另一个(非设计)视图中获取它?

谢谢。

Devise 中的

resource_name 通常是您在 config/routes.rb 中传递给 devise_for 的资源的名称。所以如果你使用 devise_for(:users) 它将是 :user.

class DeviseController < Devise.parent_controller.constantize
  def resource_name
    devise_mapping.name
  end
end

Devise 对许多不同的模型使用相同的视图/控制器,并通过在注入 request.env 的路由中创建的映射来实现。

如果您知道模型名称,您也可以只使用为您的应用创建的命名路由助手,通常是 new_user_confirmation_path