Javascript 包括Rails中特定视图的外部JS
我正在尝试使用RubyonRails构建我的第一个网站 我已经阅读了有关资产管道的内容,我有一个特定的视图需要引用3个JS库,其他文件不需要引用这些库 我不想将它们用作Javascript 包括Rails中特定视图的外部JS,javascript,ruby-on-rails,ruby,url-routing,Javascript,Ruby On Rails,Ruby,Url Routing,我正在尝试使用RubyonRails构建我的第一个网站 我已经阅读了有关资产管道的内容,我有一个特定的视图需要引用3个JS库,其他文件不需要引用这些库 我不想将它们用作assets/javascripts清单中的require指令,因为它们最终会出现在所有其他不需要它们的页面上 因此,我想我可以简单地将它们包含在视图模板中 但是,我发现了404:file not found错误 这就是我如何将它们包含在模板/app/views/welcome/index.html.erb: <%= ja
assets/javascripts
清单中的require
指令,因为它们最终会出现在所有其他不需要它们的页面上
因此,我想我可以简单地将它们包含在视图模板中
但是,我发现了404:file not found错误 这就是我如何将它们包含在模板
/app/views/welcome/index.html.erb
:
<%= javascript_include_tag "/lib/assets/javascripts/three.js" %>
<%= javascript_include_tag "/lib/assets/javascripts/perlin.js" %>
<%= javascript_include_tag "/lib/assets/javascripts/cube.js" %>
编辑 人们建议我移动我的文件。你能解释一下为什么我不能把它们放在
库中吗?文件说,lib/assets
是libs应该去的地方,我同意这个组织
/public
目录只是为了与我读到的内容向后兼容而保留的(它甚至不再是默认创建的)
您可以将JS文件放在/assets/javascripts(example.JS)中,然后像这样在视图中调用它
<%= javascript_include_tag 'forexample' %>
所有必需的javascripts文件都只与application.js链接,只是不包括
<%= javascript_include_tag 'application' %>
在其他视图中。您可以将JS文件放在/assets/javascripts(example.JS)中,然后像这样在视图中调用它
<%= javascript_include_tag 'forexample' %>
所有必需的javascripts文件都只与application.js链接,只是不包括
<%= javascript_include_tag 'application' %>
在其他视图中。您可以将JS文件放在/assets/javascripts(example.JS)中,然后像这样在视图中调用它
<%= javascript_include_tag 'forexample' %>
所有必需的javascripts文件都只与application.js链接,只是不包括
<%= javascript_include_tag 'application' %>
在其他视图中。您可以将JS文件放在/assets/javascripts(example.JS)中,然后像这样在视图中调用它
<%= javascript_include_tag 'forexample' %>
所有必需的javascripts文件都只与application.js链接,只是不包括
<%= javascript_include_tag 'application' %>
在其他视图中。将您的Javascript放入/app/assets/javascripts
中,您将能够像这样包含它:
<%= javascript_include_tag 'file-name' %>
请注意,不应包含扩展名。Rails会为您找到它
每个控制器都有自己的Javascript和CSS文件,使用它们是一个好主意
请注意,如果添加更多资产,则必须将Rails.application.config.assets.precompile+=%w([文件名])
添加到config/initializers/assets.rb
并重新启动服务器
Libs并不完全符合您的想法,使用public是一个坏主意。。。
正如我所说,最好只将其放入/app/assets/javascripts
。将您的Javascript放入/app/assets/javascripts
,您将能够像这样包含它:
<%= javascript_include_tag 'file-name' %>
请注意,不应包含扩展名。Rails会为您找到它
每个控制器都有自己的Javascript和CSS文件,使用它们是一个好主意
请注意,如果添加更多资产,则必须将Rails.application.config.assets.precompile+=%w([文件名])
添加到config/initializers/assets.rb
并重新启动服务器
Libs并不完全符合您的想法,使用public是一个坏主意。。。
正如我所说,最好只将其放入/app/assets/javascripts
。将您的Javascript放入/app/assets/javascripts
,您将能够像这样包含它:
<%= javascript_include_tag 'file-name' %>
请注意,不应包含扩展名。Rails会为您找到它
每个控制器都有自己的Javascript和CSS文件,使用它们是一个好主意
请注意,如果添加更多资产,则必须将Rails.application.config.assets.precompile+=%w([文件名])
添加到config/initializers/assets.rb
并重新启动服务器
Libs并不完全符合您的想法,使用public是一个坏主意。。。
正如我所说,最好只将其放入/app/assets/javascripts
。将您的Javascript放入/app/assets/javascripts
,您将能够像这样包含它:
<%= javascript_include_tag 'file-name' %>
请注意,不应包含扩展名。Rails会为您找到它
每个控制器都有自己的Javascript和CSS文件,使用它们是一个好主意
请注意,如果添加更多资产,则必须将Rails.application.config.assets.precompile+=%w([文件名])
添加到config/initializers/assets.rb
并重新启动服务器
Libs并不完全符合您的想法,使用public是一个坏主意。。。
正如我所说的,最好将它放在/app/assets/javascripts
中。将您的JS文件放在public
目录下,而不是lib/assets
。因此,在public/three.js
的情况下,您可以使用/three.js
相对URL路径下载它。将您的js文件放到public
目录,而不是lib/assets
。因此,在public/three.js
的情况下,您可以使用/three.js
相对URL路径下载它。将您的js文件放到public
目录,而不是lib/assets
。因此,在public/three.js
的情况下,您可以使用/three.js
相对URL路径下载它。将您的js文件放到public
目录,而不是lib/assets
。所以,如果是public/three.js
的话,你可以使用/three.js
相对URL路径下载它。我知道我不需要包含扩展名,但为什么不应该呢?我很确定Rails不喜欢这样做,而且这意味着代码更少。你知道为什么我不能用ab吗