gpt4 book ai didi

ruby-on-rails - 使用 JSON 通过 Rails Active Storage 访问 React 中的图像

转载 作者:行者123 更新时间:2023-12-03 14:13:01 24 4
gpt4 key购买 nike

我正在制作一个 Rails API,我想使用 Active Storage 将图像附加到帖子,然后能够在 REACT 中访问它们,例如获取 JSON 中的 url 链接。如何将 Active Storage 图像转换为 JSON 的 URL。有没有更好的方法来获取帖子图像的链接?

例如,我希望图像 url 包含在此信息中:

来自:http://localhost:3001/api/posts

[{"id":8,"title":"lolol","body":"lolol","created_at":"2018-07-19T23:36:27.880Z","updated_at":"2018-07-20T00:17:50.201Z","admin_user_id":1,"post_type":"Song","link":"dgdadg","song_title":"dgdadg","tag_list":[]},{"id":13,"title":"ddd","body":"dd","created_at":"2018-07-20T00:21:39.903Z","updated_at":"2018-07-20T00:21:39.907Z","admin_user_id":1,"post_type":"Song","link":"dddd","song_title":"ddd","tag_list":["Tag"]}]

这是我的帖子 Controller :

class PostsController < ApiController
before_action :set_post, only: [:show, :update, :destroy]

def index
if params[:tag]
@posts = Post.tagged_with(params[:tag])
else
@posts = Post.all
end

render :json => @posts
end

def show
@post
render :json => @post
end

def create
@post = Post.new(post_params)
end

def update
@post.update(post_params)
head :no_content
end

def destroy
@post.destroy
head :no_content
end

private

def post_params
params.require(:post).permit(:title, :body, :song_title, :post_type, :admin_user_id, :link, :tag_list, :image)
end

def set_post
@post = Post.find(params[:id])
end

end

如有任何建议,我们将不胜感激。

最佳答案

大约两周前就去过那里,由于完全相同的问题而决定不使用 ActiveStorage。您可以执行一些使用的 Controller 魔法

url_for(@post.image)

喜欢

render :json => @post.merge({image: url_for(@post.image)})

或者类似的东西

class Post
def image_url
Rails.application.routes.url_helpers.rails_blob_path(self.image, only_path: true)
end
end

# controller
render :json => @post.as_json(methods: :image_url)

关于ruby-on-rails - 使用 JSON 通过 Rails Active Storage 访问 React 中的图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51434528/

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