![](/img/trans.png)
[英]How to upload local image file on React Native app to Rails api?
[英]How to provide local image urls from Rails 5 API only app
我们只有一个 API,Rails 5 应用程序(所以没有管道)。 我们希望 API 为我们服务器上的图像提供 URL。 此图像由模型提供。 此图像可以存在于app/assets/images
或public/images
。 在 Rails 模型中,什么方法会将当前主机/域附加到文件名?
我们期望ActionController::Base.helpers.asset_url("solar.png")
工作,但这会返回"\\solar.png"
。
我们已将 default_url_options 设置为“localhost:3000”
让模型只提供文件名并且控制器/json 视图渲染器通过帮助程序提供 URL 部分是可以接受的。 我说“可接受”,因为我们的模型正在决定应该返回什么图像。 有时该图像来自本地服务器,有时它是来自不同服务器的绝对 URL。 如果控制器提供 URL 部分,我们将不得不分别处理这两种情况。
快速回答:
# development.rb
config.action_controller.asset_host = "http://localhost:3000"
# production.rb
config.action_controller.asset_host = "http://yourdomain.com"
常见的错误是设置config.action_controller.default_url_options
记住你有几个地方可以设置你的主机名:
config.action_controller.default_url_options
config.action_mailer.default_url_options
config.action_controller.asset_host
# Maybe others, I'm not sure
它通常是相同的值,但并非每次都相同。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.