gpt4 book ai didi

ruby-on-rails - Rails View 路径未被重置

转载 作者:数据小太阳 更新时间:2023-10-29 08:11:22 27 4
gpt4 key购买 nike

Given Rails 4.2, Ruby 2.3.1.

理论上,Rails 应该允许您完全重置 View 路径,如 here, in the source code 所示.

但是,当我通过 #view_paths= 从 Controller 回调中重置 view_paths 时,发生了意外情况。

> view_paths.size
=> 2
> new_paths = view_paths.reject { |vp| rejection criteria }
> new_paths.size
=> 1
> view_paths = new_paths
> view_paths.size
=> 2
> _view_paths.size
=> 1

self._view_paths 已成功重置,但 #view_paths 尚未获取这些更改,尽管 simply being a wrapper for self._view_paths .为什么 self._view_paths 正确,而 #view_paths 不正确?

注意:这很重要,因为 Rails 在搜索 View 时使用 #view_paths,而不是 self._view_paths

最佳答案

尝试改变

view_paths = new_paths

self.view_paths = new_paths

view_paths = new_paths 最有可能初始化一个名为 view_paths 的局部变量,而不是调用方法 view_paths=

编辑:

由于您得到了一个NoMethodError,您不在您认为的上下文中,因为在您发布的文件中有一个具有该名称的方法https://github.com/rails/rails/blob/ec28c4fb242a9bf0632bb4dac0d0a2d949eab1b3/actionpack/lib/abstract_controller/view_paths.rb#L91

关于ruby-on-rails - Rails View 路径未被重置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38964939/

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