gpt4 book ai didi

ruby-on-rails - 覆盖确认 Controller 时设计范围 View

转载 作者:行者123 更新时间:2023-12-02 22:35:42 25 4
gpt4 key购买 nike

我在 OSX 上使用 Devise 2.0.0 和 Rails 3.2.3。

是否可以同时覆盖 Devise Controller 和 Devise View ?

我成功地用我自己的作用域 View 覆盖了确认/新 View ,位于 views/users/confirmations/new.html.erb。作用域 View 工作正常。

然后我发现有必要用我自己的 Controller AppConfirmationsController 覆盖 Devise::ConfirmationsController,以便自定义 after_confirmation_path_for 方法以返回我自己的自定义路径。

class AppConfirmationsController < Devise::ConfirmationsController
protected
def after_confirmation_path_for(resource_name, resource)
confirmed_app_custom_path
end
end

我更改了路由以便使用我的自定义 Controller

devise_for :users, :controllers => {:confirmations => 'app_confirmations'}

新 Controller 工作正常,但我的范围 View 不再被识别。不是渲染我的范围 View ,而是渲染设计默认 View 。如果我停止使用我的自定义 Controller ,我的作用域 View 将再次开始工作。

在使用客户 Controller 时,我是否遗漏了一些影响范围 View 的配置设置?

最佳答案

不确定这是否可行,因为我没有使用作用域 View ,但在覆盖默认设计注册 View 和 Controller 时遇到了类似的问题。

对我来说,我必须确保我的 View 的父目录与新的设备 Controller 同名,并且一切正常。

devise_for :users, :controllers => { :registrations => "app_registrations"}然后我的自定义 Controller 位于 views/app_registrations/new.html.erb

将 View 移动到 views/users/app_confirmations/new.html.erb 有帮助吗?

关于ruby-on-rails - 覆盖确认 Controller 时设计范围 View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11463865/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com