此網址提供所有“產品”的資訊:
require 'open-uri'
JSON.load(open("http://localhost:3000/products.json"))
但我添加了 ActiveStorage 附件;現在每個產品都有一個“main_image”和零個或多個“secondary_images”。
我想更新 API 回應以提供所有附件的 URL(生成 url: 的示例代碼app.url_for(Product.find(10).main_image))作為 JSON 回應的一部分(就像它目前對所有其他產品屬性所做的那樣)。
Rails 是否有內置的快速/簡單的方法來使 API 回應提供相關的 ActiveStorage 資訊?
附加條款:
目前,app/views/products/_product.json.jbuilder` 看起來像這樣:
json.extract! product, :id, :price, :created_at, :updated_at
json.url product_url(product, format: :json)
uj5u.com熱心網友回復:
我不得不做類似的事情,我通過抓取記錄然后添加資料來解決它。這是我能找到的最快、最簡單的方法。
@products = Product.find(10)
@products = @products.map {|prod| prod.as_json.merge({ main_image: prod.main_image.service_url })}
然后將記錄作為 json 輸出,其中包含影像的 URL。
我想我可能對你的價值觀有正確的看法,但它可能會被關閉。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/427215.html
標籤:轨道上的红宝石 rails-activestorage
