我来自这篇文章: Rails 使用 puma,将 localhost:3000 更改为 localhost:3000/example
我已经解决了这个问题,但现在当我发出发布请求时,我收到“方法不允许”。我一直在阅读并尝试这个解决方案: Post 返回 405 方法不允许
我知道问题出在哪里:如果我放入 application.rb 第 1 行和第 2 行,所有资产都会正确显示,并且 post 方法不会执行此操作。如果我评论这些行,方法会起作用,但资产不会。
应用程序.rb:
class Application < Rails::Application
# Initialize configuration defaults for originally generated Rails version.
config.load_defaults 5.1
config.exceptions_app = ->(env) { ExceptionController.action(:show).call(env) }
config.action_dispatch.rescue_responses["BadTaste"] = :bad_request
1- config.action_controller.asset_host = "https://www.sevilla.org"
2- config.assets.prefix = '/autorizaciones-movilidad'
# Settings in config/environments/* take precedence over those specified here.
# Application configuration should go into files in config/initializers
# -- all .rb files in that directory are automatically loaded.
end
路线:
Rails.application.routes.draw do
#resources :assets, path: '/autorizaciones-movilidad'
scope "/autorizaciones-movilidad" do
get 'vehicles/new'
get 'vehicles/create'
...
get 'vehicles/update'
end
end
不知道如何解决。
它是使用代理服务器部署的(在本地主机中它工作正常)
您可能早已解决了这个问题或继续前进,但我们开始了。
需要考虑的一件事是,使用 Rails,当您应该得到 404 错误时,您可能会得到 405 错误。
我试图对 http://localhost:3000/get_estimate 进行 POST 调用,但在端点文件中,路由是“/estimate”而不是“/get_estimate”,后者不存在。
查看上面的代码,您可能对
进行了 POST 调用localhost:3000/autorizaciones-movilidadvehicles/new
而不是
localhost:3000/autorizaciones-movilidad/vehicles/new
注意第二个 URL 中“vehicles”之前的“/”,第一个 URL 中缺少该“/”。这可能会给您带来 405,而不是更准确的 404。