【发布时间】:2017-10-23 20:50:42
【问题描述】:
我需要覆盖 AA 中几个模型的所有 new 操作。目前我正在一个一个地覆盖模型,所以我有很多重复的代码。
如何一次编辑所有新动作?
只是为了提供一些背景知识,我在每个 AA 资源文件中都这样做:
controller do
def new
# things
end
end
【问题讨论】:
我需要覆盖 AA 中几个模型的所有 new 操作。目前我正在一个一个地覆盖模型,所以我有很多重复的代码。
如何一次编辑所有新动作?
只是为了提供一些背景知识,我在每个 AA 资源文件中都这样做:
controller do
def new
# things
end
end
【问题讨论】:
您应该创建一个模块并在该模块中编写您的方法,然后将该模块包含在每个控制器中
class YourController < ApplicationController
include YourControllerConcern
# rest of the controller codes
end
但请阅读full original answer which I am quoting,其中包含其他信息
如果您从未使用过include,这是good explanation 的作用,这是关于include and extend 的完整指南
【讨论】: