Tôi đang cố gắng gọi image_url
(từ mô-đun ActionView::Helpers::AssetUrlHelper
) từ trong bộ điều khiển. Bộ điều khiển của tôi là một bộ điều khiển API để trả lời json. Vì vậy, bộ điều khiển chuẩn bị đối tượng và tôi đang sử dụng jBuilder
để hiển thị phản hồi JSON thực tế. Đây là mã:Làm thế nào tôi có thể sử dụng Rails image_url helper trên lớp Controller để nó trả về giá trị chính xác?
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
Hình ảnh tutor-with-student.jpg
tồn tại trong thư mục sau:
app/assets/images/api/mobile/home/tutor-with-student.jpg
Vấn đề là các image_url
trả về giá trị:
http://myhost.com/images/api/mobile/home/tutor-with-student.jpg
thay vì
http://myhost.com/assets/api/mobile/home/tutor-with-student.jpg
Lưu ý rằng khi tôi đang sử dụng image_url
từ chế độ xem thực tế, phương thức trả về giá trị chính xác.
Tôi có thể sử dụng phương pháp image_url
trên lớp Trình điều khiển để nó trả về giá trị chính xác như thế nào?