Ruby on rails rails控制器何时知道何时使用嵌入式html或js

Ruby on rails rails控制器何时知道何时使用嵌入式html或js,ruby-on-rails,ruby,ruby-on-rails-4,Ruby On Rails,Ruby,Ruby On Rails 4,如果我在userscoontroller中调用index操作,Rails控制器何时知道何时提供index.html.erb或index.js.erb?似乎设置带有属性remote:true的链接将指向我index.js.erb,而不是index.html.erb link_to 'user#index', remote: true (=> index.js.erb) link_to 'user#index' (=> index.html.erb) 还有更多的情况吗 rails如何

如果我在
userscoontroller
中调用
index
操作,Rails控制器何时知道何时提供
index.html.erb
index.js.erb
?似乎设置带有属性
remote:true
的链接将指向我
index.js.erb
,而不是
index.html.erb

link_to 'user#index',  remote: true (=> index.js.erb)
link_to 'user#index' (=> index.html.erb)
还有更多的情况吗

rails如何知道常规的
get
请求与
javascript get
请求之间的区别


当rails提供嵌入式javascript/html文件时,有人能澄清一下rails控制器的默认设置吗?谢谢

这件事是由rails控制器完成的。例如,如果您有索引控制器,并且希望用html和js响应它

def index
  respond_to do |format|
    format.html   ## respond to embedded html
    format.js     ## respond to js but it is called if remote data is passed (i.e if remote: true is set)
  end
end
如果您在索引页(index.html.erb)中已通过远程


然后它将响应索引js(即format.js)。您需要创建index.js.erb文件来定义它的逻辑

你也可以从中看到

<%= link_to "Show", show_path, remote: true %>