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 '✓'.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 '✓'.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'