gpt4 book ai didi

ruby-on-rails - 如何在 Controller 层上使用 Rails image_url 助手,以便它返回正确的值?

转载 作者:行者123 更新时间:2023-12-03 16:19:27 25 4
gpt4 key购买 nike

我想调用image_url (来自 ActionView::Helpers::AssetUrlHelper 模块)来自 Controller 内。我的 Controller 是一个呈现 json 响应的 API Controller 。因此, Controller 准备了对象,我正在使用 jBuilder呈现实际的 JSON 响应。这是代码:

class Api::Mobile::HomeController < Api::Mobile::ApplicationController
include ActionView::Helpers::AssetUrlHelper

def index
@items = [Api::Mobile::HomePageItem.new(
type: 'image',
image: image_url("api/mobile/home/tutor-with-student.jpg"))]
end
end

图片 tutor-with-student.jpg存在于以下文件夹中:
app/assets/images/api/mobile/home/tutor-with-student.jpg

问题是 image_url返回值:
http://myhost.com/images/api/mobile/home/tutor-with-student.jpg

代替
http://myhost.com/assets/api/mobile/home/tutor-with-student.jpg

请注意,当我使用 image_url从实际来看,该方法返回正确的值。

如何使用 image_url Controller 层上的方法,以便它返回正确的值?

最佳答案

感谢之前的作者。我不确定性能,但这种方法对我有帮助:

def logo_url
host_url = request.path == '/' ? request.url : request.original_url.split(request.path).first
asset_path = ActionController::Base.helpers.asset_url('logo.png')
host_url + asset_path
end
# will return
=> "http://localhost:3000/assets/logo-40e3bf1e10f0c00393ac94f96ea127986955c166eb839266eb2ad6e63b42754c.png"`

关于ruby-on-rails - 如何在 Controller 层上使用 Rails image_url 助手,以便它返回正确的值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31680240/

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