Ruby on rails rails3中的操作之后会发生什么
我有一个索引操作:Ruby on rails rails3中的操作之后会发生什么,ruby-on-rails,ruby-on-rails-3,Ruby On Rails,Ruby On Rails 3,我有一个索引操作: def index @registros = find Cid respond_to do |format| format.html # index.html.erb format.json { render json: @registros } format.js end end 当使用ajax调用此操作时,会转到render index.js.erb文件。没关系。但是我需要呈现application/index.js.erb文件,
def index
@registros = find Cid
respond_to do |format|
format.html # index.html.erb
format.json { render json: @registros }
format.js
end
end
当使用ajax调用此操作时,会转到render index.js.erb文件。没关系。但是我需要呈现application/index.js.erb文件,因为它是所有视图的公共文件。因此,我将此文件移动到视图/应用程序文件夹
但当我这样做时,我不得不改变我的行动:
format.js { render "application/index" }
我为什么要这么做?默认设置是查看应用程序文件夹,还是不查看?它将“视图/应用程序”视为另一个控制器的视图,而不是ApplicationController视图。如果您在不同的控制器之间共享一个视图,那么将其放在views/shared
下并从那里调用它会更符合逻辑,并防止此类含义重叠。如果您只将action\u name
作为参数传递给渲染函数,Rails将只尝试在controller\u name/action\u name.format