js.erb文件究竟做了什么

时间:2013-11-28 12:00:10

标签: ruby-on-rails

我是RoR的新秀。我理解MVC模型。 html.erb文件负责呈现视图。但是js.erb文件做了什么?它们仅与视图中可能存在的任何jquery相关,或者它们是否也对整体视图有贡献。请忍受我的天真。

由于

3 个答案:

答案 0 :(得分:1)

JS.ERB(ERB:嵌入式Ruby)文件是标准的javascript文件。它们位于视图中,或者包含适用于应用程序的自定义JS的app / assets。

如果JS.ERB文件位于视图文件夹中,它可以被控制器引用并包含任何类型的基于Ruby on Rails的代码。

如果JS.ERB位于app / assets文件夹中,它只能引用与Asset Pipeline相关的Ruby代码,即:

<%= asset_tag 'image.png' %>

此图像将驻留在app / image中,以便asset_tag检索图像。

答案 1 :(得分:0)

当您执行javascript请求时,您的控制器操作将以js.erb回复。例如ajax请求通过:

link_to '', users_path, remote: true

form_for @user, remote: true

答案 2 :(得分:0)

ERB是嵌入式ruby的缩写,任何具有该扩展名的东西都可以写入ruby代码。在rails中,这用于动态创建html,但您也可以动态创建JS文件。想象一下,你有一个带有以下内容的js.erb文件

<% [1,2,3,4,5].each do |i| %>
  alert(<%= i %>);
<% end %>

这将呈现以下javascript:

alert(1);
alert(2);
alert(3);
alert(4);
alert(5);

这将导致向客户显示5个警报(在实践中不是一个好主意,但我希望你能得到这个想法)