gpt4 book ai didi

ruby-on-rails - 可安装引擎中非标准 Assets 的 Rails 路由

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

我有一些非标准 Assets (即不是图像/javascript 文件/样式表的文件,例如 json 和二进制文件)位于 中的可安装引擎(没有 isolate_namespace)中>应用程序/ Assets /数据。我希望这些成为 Assets 管道的一部分(与图像等方式相同)。我可以将它们添加到 Assets 路径集合中,例如

class Engine < ::Rails::Engine
config.after_initialize do
Rails.application.config.assets.paths << root.join("app", "assets", "data")
end
end

我可以在 Rails 控制台中看到 Assets 对 Assets 管道可见(例如通过 Rails.application.assets[]ActionController::Base.helpers.asset_path)。例如,对于文件 app/assets/data/foo.json,托管应用程序的 Rails 控制台中的 asset_path 帮助器为我提供了路径 assets/foo.json,但是该路径不起作用,我得到一个

ActionController::RoutingError (No route matches [GET] "/assets/foo.json")

错误。

如何让托管 Rails 应用程序提供这些文件?

最佳答案

事实证明,这是具有特定名称的 json 文件的一些奇怪行为。相关文件的名称类似于 schema-[UUID].json。 Rails 似乎认为这些是对需要返回 json 格式数据的某些 Controller 的调用(即使没有这样的路由,也没有 schema Controller )。当我将文件重命名为 [UUID]-schema.json 时,它们突然起作用了。

关于ruby-on-rails - 可安装引擎中非标准 Assets 的 Rails 路由,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12751295/

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