Я создал файл yml.erb, который будет использоваться для настройки некоторых частей моего приложения. Я хотел бы предварительно загрузить его с помощью инициализатора (я не требую его изменения во время работы приложения), самая большая проблема заключается в том, что этот yml-файл содержит ссылку на изображения, которые находятся внутри каталога app / assets / images. Я хотел бы использовать помощник image_path внутри своего файла yml.erb, но у меня проблемы (я не знаю, что мне включить и где это включить: если в файле yml.erb или в файле, который анализирует файл yml.erb).
Что у меня есть на данный момент
desktop_icons.rb (внутри config / initializers)
require 'yaml'
require 'rails'
include ActionView::Helpers::AssetTagHelper
module ManageFedertrekOrg
class Application < Rails::Application
def desktop_icons
@icons ||= YAML.load(ERB.new(File.read("#{Rails.root}/config/icons.yml.erb")).result)
end
end
end
icons.yml.erb (внутри конфигурации)
-
image: <%= image_path "rails" %>
title: Test this title
home_controller.rb (внутри контроллеров)
class HomeController < ApplicationController
skip_filter :authenticate_user!
def index
@user_is_signed_in = user_signed_in?
respond_to do |format|
format.html { render :layout => false } # index.html.erb
end
end
def icons
result =
{
icons: MyApp::Application.desktop_icons,
success: true,
total: MyApp::Application.desktop_icons.count
}
respond_to do |format|
format.json { render json: result }
end
end
end
Любое предложение?