gpt4 book ai didi

ruby-on-rails-3 - javascript_include_tag :defaults does not work

转载 作者:行者123 更新时间:2023-12-04 07:22:12 24 4
gpt4 key购买 nike

我正在将应用程序迁移到 Rails 3。以下 - 我在几个地方看到推荐 - 不起作用:

<%= javascript_include_tag :defaults %>

就我而言,它扩展为:
<script src="/assets/defaults.js" type="text/javascript"></script>

...这会导致 404。据我所知,:defaults 不应该包含一个名为“defaults.js”的文件;它应该包括一些基本的东西,比如prototype.js 和application.js。

请注意,在我的情况下,以下工作正常。只是如果可能的话,我宁愿使用官方推荐的方式:
<%= javascript_include_tag :prototype %>
<%= javascript_include_tag :application %>

我正在使用 ruby​​ 1.9.3 运行 Rails 3.2.8。

我的 config/application.rb (以任何形式)中没有以下行。为了迁移到 Rails 3,我创建了一个新的 Rails 3 应用程序,并使用该 application.rb 作为起点:
config.action_view.javascript_expansions[:defaults] = %w(foo.js bar.js)

在 app/assets/javascripts 中,我有:
Util.js
application.js
controls.js
dragdrop.js
effects.js
prototype.js

...和一堆特定于我的应用程序的东西。

最佳答案

从 Rails 3.1 开始,它使用 Assets 管道。这意味着您需要改变对 Assets 的管理。

您有一个 assets/javascripts/application.rb包含以下内容的文件:

//= require jquery
//= require jquery_ujs
//= require_tree .

您似乎在 javascripts 存储库中包含了 jquery、jquery_ujs 和所有其他文件。对于最后一行,您无需在此文件中执行任何其他操作。您只需要在 View 中包含应用程序文件,rails 就会管理所有内容:
<%= javascript_include_tag "application" %>

这与样式表完全相同。

然后在生产环境中, Assets (图像、样式表、javascripts)将被编译和缩小以提高效率。

我建议你阅读更多关于 here 的信息

希望这可以帮助

关于ruby-on-rails-3 - javascript_include_tag :defaults does not work,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14046787/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com