gpt4 book ai didi

Javascript 在 Heroku 中不起作用,但在本地环境中不起作用

转载 作者:行者123 更新时间:2023-12-02 17:55:52 25 4
gpt4 key购买 nike

我的 JavaScript 在本地环境中工作,但在 Heroku 上不起作用。

该文件是“destroy.js.erb”,它位于 View 中,与index.html.erb相同(其中使用了javascript)。

以下是我怀疑发生错误的 Heroku 日志:

2014-01-07T03:34:31.980578+00:00 app[web.1]: 
2014-01-07T03:34:31.980578+00:00 app[web.1]: ActionController::RoutingError (No route matches [GET] "/assets/application-ed404d2f6b226ecfcf36b0b53bc646a7.js"):
2014-01-07T03:34:31.980578+00:00 app[web.1]: I, [2014-01-07T03:34:31.976356 #2] INFO -- : Started GET "/assets/application-ed404d2f6b226ecfcf36b0b53bc646a7.js" for 24.24.157.128 at 2014-01-07 03:34:31 +0000
2014-01-07T03:34:31.980578+00:00 app[web.1]: F, [2014-01-07T03:34:31.977454 #2] FATAL -- :
2014-01-07T03:34:31.980578+00:00 app[web.1]: vendor/bundle/ruby/2.0.0/gems/actionpack-4.0.1/lib/action_dispatch/middleware/show_exceptions.rb:30:in `call'

destroy.js.erb:(JavaScript调用通过fadeOut删除用户而不是页面刷新)

$('#<%= dom_id(@user) %>').fadeOut();

index.html.erb:

<h3>All Users List</h3>

<head> <script src="http://ajax.googleapis.com/ajax/libs/jquery/2.0.2/jquery.min.js"></script> </head>

<% @users.each do |user| %>

<%= div_for user do %>

<%= link_to "User #{user.firstname} #{user.lastname}", user %>
<font color='green'><%= user.email %></font>

<div class="actions">
<td><%= link_to 'View Detail', user %></td>
<td><%= link_to 'Edit', edit_user_path(user) %></td>
<td><%= link_to 'Delete User', user_path(user), method: :delete, remote: true, data: {confirm: 'Are you sure?'} %></td>
<p>
</div>

<% end %>

<% end %>

<%= link_to 'Create New User', new_user_path %>

布局/application.html.erb:

<!DOCTYPE html>
<html>
<head>
<title>Crud</title>
<%= stylesheet_link_tag "application", media: "all", "data-turbolinks-track" => true %>
<%= javascript_include_tag "application", "data-turbolinks-track" => true %>
<%= csrf_meta_tags %>
</head>
<body>

<%= yield %>

</body>
</html>

编辑:这是应用程序:http://sheltered-sea-8479.herokuapp.com/users

有人知道如何解决这个问题吗?

谢谢!

最佳答案

我会用我要说的话作为序言,我知道这个想法就像是对一个小问题的大规模破坏,但我用头撞墙好几天了,这是我发现解决这个问题的唯一方法修复它...

尝试增加 config/development.rb 文件中的 config.assets.version 值。它将使您的应用的所有 Assets 过期,但它也会为该文件重新生成 md5 指纹,并且应该帮助应用再次识别它。

示例:

config.assets.version = '1.0' 更改为 config.assets.version = '1.1'

更新

听起来 Heroku 没有为您预编译您的 Assets 。尝试运行:RAILS_ENV=生产 bundle 执行rake Assets :预编译然后重新部署。如果您不使用 bundler,则可以从上述命令中删除 bundle exec

关于Javascript 在 Heroku 中不起作用,但在本地环境中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20963569/

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