我正在尝试创建一个模块来抽象一些逻辑,用于为控制器中的操作选择布局。
这是一个示例控制器的样子:
class StudentsController < ApplicationController
second_tierable only: [:new, :create]
layout "students"
...
我在ApplicationController中包含了一个模块,它定义了以下类方法:
def second_tierable(options = {})
self.send(:before_filter, options.slice(:only, :except)) do
self.class.layout "second_tier_page"
end
end
这就是我期望发生的事情:
这正是发生的事情,除了运行new或create动作之外。如果我访问&#34;学生/新的&#34;,例如,然后访问&#34;学生/索引,&#34;那么&#34; second_tier_page&#34;为索引呈现布局。
我正在开发模式下运行我的应用。有趣的是,如果我对我的应用程序中的任何文件进行更改并保存,那么当我刷新&#34; index&#34;正确的布局呈现。这让我相信某些东西正在缓存,但我对根本问题感到茫然。
有什么想法吗?