Ruby 在 Rails 上使用静态脚本文件渲染视图
Ruby on Rails renderin a view with static script files
在我的 ruby on rails 应用程序中,我控制了名为 AnimalsController 的应用程序。在这个控制器上,我的动物文件夹中有一个方法 "edit" 和一个相应的 edit.html.erb 视图。当我还手动将一些静态 javascript 文件添加到位于 public/assets/js/ 文件夹的页面中时。当我呈现视图时,而不是 rails 试图在相对路径而不是 mydomail.com/assets/js/ 文件夹中加载这些 javascripts 文件。
Url:
/动物/:id/edit
我在 assets/js/
中有脚本文件 myscript.js
当我发送请求到 htt://0.0.0.0:3000/animals/:id/edit
Rails 搜索 http://0.0.0.0:3000/animals/:id/edit/assets/js/myscript.js
我想让它在 http://0.0.0.0:3000/animals/js/myscript.js
搜索脚本
这是代码在我的 edit.html.erb
<script src="assets/js/myscript.js"></script>
不是:我故意不使用 <%= javascript_include_tag 'application', 'data-turbolinks-track' => true %>
有什么建议吗?
谢谢。
应该是
<script src="/assets/js/myscript.js"></script>
如果没有开头的“/”,则假定资产路径以页面路径为根。
以“/”开头,它假定资产路径以域为根。
如果您使用 the rails helper,它将为您处理。
<%= javascript_include_tag 'myscript' %>
只是不要忘记将此文件添加到资产初始化程序 config/initializers/assets.rb
。
在我的 ruby on rails 应用程序中,我控制了名为 AnimalsController 的应用程序。在这个控制器上,我的动物文件夹中有一个方法 "edit" 和一个相应的 edit.html.erb 视图。当我还手动将一些静态 javascript 文件添加到位于 public/assets/js/ 文件夹的页面中时。当我呈现视图时,而不是 rails 试图在相对路径而不是 mydomail.com/assets/js/ 文件夹中加载这些 javascripts 文件。
Url: /动物/:id/edit
我在 assets/js/
中有脚本文件 myscript.js当我发送请求到 htt://0.0.0.0:3000/animals/:id/edit
Rails 搜索 http://0.0.0.0:3000/animals/:id/edit/assets/js/myscript.js
我想让它在 http://0.0.0.0:3000/animals/js/myscript.js
搜索脚本这是代码在我的 edit.html.erb
<script src="assets/js/myscript.js"></script>
不是:我故意不使用 <%= javascript_include_tag 'application', 'data-turbolinks-track' => true %>
有什么建议吗?
谢谢。
应该是
<script src="/assets/js/myscript.js"></script>
如果没有开头的“/”,则假定资产路径以页面路径为根。 以“/”开头,它假定资产路径以域为根。
如果您使用 the rails helper,它将为您处理。
<%= javascript_include_tag 'myscript' %>
只是不要忘记将此文件添加到资产初始化程序 config/initializers/assets.rb
。