我有这个索引动作:
def index
@registros = find Cid
respond_to do |format|
format.html # index.html.erb
format.json { render json: @registros }
format.js
end
end
当使用ajax调用此操作时,它将呈现index.js.erb文件。没关系。但是我需要渲染application / index.js.erb文件,因为它是所有视图的通用文件。所以我将此文件移动到view / application文件夹。
但是当我这样做时,我不得不将我的行动改为:
format.js { render "application/index" }
为什么我必须这样做?默认是查看应用程序文件夹吗?
答案 0 :(得分:0)
它考虑"观点/应用"作为另一个控制器的视图,不是ApplicationController视图。如果您在不同的控制器之间共享视图,将它放在views/shared
下并从那里调用它会更合乎逻辑,并防止这种含义重叠。如果只将action_name
作为参数传递给渲染函数,Rails只会尝试在controller_name/action_name.format
下加载该文件