Ruby on rails 开发中的Rails POST(补丁)成为生产中的一部分

Ruby on rails 开发中的Rails POST(补丁)成为生产中的一部分,ruby-on-rails,ruby,docker,http,Ruby On Rails,Ruby,Docker,Http,与中的情况相同,但该问题没有结论,因此我也在尝试: 轨道5.2.3 Ruby 2.6 在Docker容器中运行 实时应用程序在Ubuntu 16.04.6上 我认为: <%= link_to '&#10003;'.html_safe, item_path(item), method: :patch, :class=>"item__buy-btn" %> 这是我的物品相关路线: items GET /items(.:format

与中的情况相同,但该问题没有结论,因此我也在尝试:

  • 轨道5.2.3
  • Ruby 2.6
  • 在Docker容器中运行
  • 实时应用程序在Ubuntu 16.04.6上
我认为:

<%= link_to '&#10003;'.html_safe, item_path(item), method: :patch, :class=>"item__buy-btn" %>
这是我的物品相关路线:

                items GET    /items(.:format)                                                                         items#index
                      POST   /items(.:format)                                                                         items#create
             new_item GET    /items/new(.:format)                                                                     items#new
            edit_item GET    /items/:id/edit(.:format)                                                                items#edit
                 item GET    /items/:id(.:format)                                                                     items#show
                      PATCH  /items/:id(.:format)                                                                     items#update
                      PUT    /items/:id(.:format)                                                                     items#update
                      DELETE /items/:id(.:format)                                                                     items#destroy
显然是一个帖子:

日志显示修补程序:

web_1              | Started PATCH "/items/33" for 172.21.0.1 at 2019- 05-05 19:29:31 +0000
web_1              | Cannot render console from 172.21.0.1! Allowed networks: 127.0.0.1, ::1, 127.0.0.0/127.255.255.255
web_1              | Processing by ItemsController#update as HTML
web_1              |   Parameters: {"authenticity_token"=>"KmPf0fEDEs6Y2gUmC6Su9fdeVOg51AwCUUWyQBq14Gz0Fs6IRJ5cmmQdUETMbE+IMRTTGcfQPQ86x0rNzDSRHg==", "id"=>"33"}
然后在生产中:

I, [2019-05-05T18:27:22.439552 #1]  INFO -- : [93c90971-1378-4e39-b6fb-8329dd46922e] Started GET "/" for 10.255.0.2 at 2019-05-05 18:27:22 +0000
I, [2019-05-05T18:27:22.440379 #1]  INFO -- : [93c90971-1378-4e39-b6fb-8329dd46922e] Processing by HomeController#index as HTML
I, [2019-05-05T18:27:22.441694 #1]  INFO -- : [93c90971-1378-4e39-b6fb-8329dd46922e]   Rendering home/index.html.erb within layouts/application
I, [2019-05-05T18:27:22.443279 #1]  INFO -- : [93c90971-1378-4e39-b6fb-8329dd46922e]   Rendered home/index.html.erb within layouts/application (1.4ms)
I, [2019-05-05T18:27:22.444679 #1]  INFO -- : [93c90971-1378-4e39-b6fb-8329dd46922e] Completed 200 OK in 4ms (Views: 3.0ms)
I, [2019-05-05T18:49:37.971732 #1]  INFO -- : [5f452d24-80c5-44dc-bd8a-cb2be0aa5f14] Started GET "/items/7" for 10.255.0.2 at 2019-05-05 18:49:37 +0000
F, [2019-05-05T18:49:37.973154 #1] FATAL -- : [5f452d24-80c5-44dc-bd8a-cb2be0aa5f14]
F, [2019-05-05T18:49:37.973209 #1] FATAL -- : [5f452d24-80c5-44dc-bd8a-cb2be0aa5f14] AbstractController::ActionNotFound (The action 'show' could not be found for ItemsController):
F, [2019-05-05T18:49:37.973237 #1] FATAL -- : [5f452d24-80c5-44dc-bd8a-cb2be0aa5f14]
F, [2019-05-05T18:49:37.973274 #1] FATAL -- : [5f452d24-80c5-44dc-bd8a-cb2be0aa5f14] actionpack (5.2.3) lib/abstract_controller/base.rb:129:in `process'

什么会导致这种行为? 我在这篇文章中遗漏了什么相关信息吗

编辑:

根据塔德曼爵士的回答,这显然与javascript有关。
由于其中一个文件中有“#”注释,它在预编译时失败。

这通常是因为无法加载Rails UJS JavaScript库,并且忽略了它注入的数据属性

检查UJS库是否已加载。如果您使用的是链轮,请确保
application.js
中的
rails ujs
注释行存在


如果您在
生产模式下运行
您需要确保您的资产已正确编译。这可以通过Rails 3到5.2的生产部署位置中的
rake assets:precompile
来完成。

(我可能无意中否决了这一点,所以如果您可以编辑它,我就可以更改它了)在prod中执行了
rake assets:precompile
。获得以下错误
Uglifier::error:意外字符“#”
从解决该问题的coffeescript文件中删除了一些剩余注释。你是凭经验知道的,还是我应该弄明白的?这是否意味着我的应用程序将在没有js的情况下失败?这是正确“部署”应用程序和工具(如“自动为您执行”等)所需要做的事情,许多人对此一无所知。大多数部署过程都讨论这一步骤,但您需要专门寻找它们:有几十个操作指南详细介绍了这些步骤。每个环境都有自己的挑战,尤其是Docker。
web_1              | Started PATCH "/items/33" for 172.21.0.1 at 2019- 05-05 19:29:31 +0000
web_1              | Cannot render console from 172.21.0.1! Allowed networks: 127.0.0.1, ::1, 127.0.0.0/127.255.255.255
web_1              | Processing by ItemsController#update as HTML
web_1              |   Parameters: {"authenticity_token"=>"KmPf0fEDEs6Y2gUmC6Su9fdeVOg51AwCUUWyQBq14Gz0Fs6IRJ5cmmQdUETMbE+IMRTTGcfQPQ86x0rNzDSRHg==", "id"=>"33"}
I, [2019-05-05T18:27:22.439552 #1]  INFO -- : [93c90971-1378-4e39-b6fb-8329dd46922e] Started GET "/" for 10.255.0.2 at 2019-05-05 18:27:22 +0000
I, [2019-05-05T18:27:22.440379 #1]  INFO -- : [93c90971-1378-4e39-b6fb-8329dd46922e] Processing by HomeController#index as HTML
I, [2019-05-05T18:27:22.441694 #1]  INFO -- : [93c90971-1378-4e39-b6fb-8329dd46922e]   Rendering home/index.html.erb within layouts/application
I, [2019-05-05T18:27:22.443279 #1]  INFO -- : [93c90971-1378-4e39-b6fb-8329dd46922e]   Rendered home/index.html.erb within layouts/application (1.4ms)
I, [2019-05-05T18:27:22.444679 #1]  INFO -- : [93c90971-1378-4e39-b6fb-8329dd46922e] Completed 200 OK in 4ms (Views: 3.0ms)
I, [2019-05-05T18:49:37.971732 #1]  INFO -- : [5f452d24-80c5-44dc-bd8a-cb2be0aa5f14] Started GET "/items/7" for 10.255.0.2 at 2019-05-05 18:49:37 +0000
F, [2019-05-05T18:49:37.973154 #1] FATAL -- : [5f452d24-80c5-44dc-bd8a-cb2be0aa5f14]
F, [2019-05-05T18:49:37.973209 #1] FATAL -- : [5f452d24-80c5-44dc-bd8a-cb2be0aa5f14] AbstractController::ActionNotFound (The action 'show' could not be found for ItemsController):
F, [2019-05-05T18:49:37.973237 #1] FATAL -- : [5f452d24-80c5-44dc-bd8a-cb2be0aa5f14]
F, [2019-05-05T18:49:37.973274 #1] FATAL -- : [5f452d24-80c5-44dc-bd8a-cb2be0aa5f14] actionpack (5.2.3) lib/abstract_controller/base.rb:129:in `process'