アプリケーションの一部を構成するために使用されるyml.erbファイルを作成しました。イニシャライザーをプリロードしたいのですが(アプリケーションの実行中に変更する必要はありません)、最大の問題は、このymlファイルにapp / Assets/imagesディレクトリ内の画像へのリンクが含まれていることです。yml.erbファイル内でimage_pathヘルパーを使用したいのですが、問題が発生しています(何を含めるべきか、どこに含めるべきかわかりません: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
なにか提案を?