gpt4 book ai didi

ruby-on-rails - ApplicationHelper 方法在 Devise Controller 中不可用

转载 作者:行者123 更新时间:2023-12-03 02:11:19 25 4
gpt4 key购买 nike

我有一个旧版 Rails 3.2 应用程序,其中使用 Devise 进行身份验证。以前,Devise 一直使用其 SessionController 的默认应用程序布局,并且所有应用程序的 Controller 都显式声明布局“public”。我决定将公共(public)布局更改为 application.haml,并将之前的应用程序布局更改为 devise.haml。为了确保 Devise::SessionsController 使用正确的布局,我将其添加到我的 application.rb 文件中:

config.to_prepare do
Devise::SessionsController.layout "devise"
end

但是,当我添加此内容时,我的集成测试开始失败,因为它们无法访问 ApplicationHelper 中定义的 View 助手。为什么以这种方式更改 Controller 的布局会阻止使用 ApplicationHelper 方法?我该如何解决这个问题?

最佳答案

ApplicationHelper 添加到您的 Controller

class Users::RegistrationsController < Devise::RegistrationsController
include ApplicationHelper
def new
super do |resource|
resource.type = your_helper_method
end
end
end

关于ruby-on-rails - ApplicationHelper 方法在 Devise Controller 中不可用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16690352/

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