Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/65.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ruby-on-rails-3/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails rails3中的操作之后会发生什么_Ruby On Rails_Ruby On Rails 3 - Fatal编程技术网

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