![](/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.