Я пишу скрипт на Ruby, который будет генерировать большое плоское HTML-меню для моего веб-сайта. Я мог бы генерировать это меню на лету при каждой загрузке страницы, но я думаю, что это пустая трата ресурсов, тем более что почти никогда не нужно менять.
Я хочу эффективно сделать следующее (в полусудокоде):
part_of_my_menu = eval %{
<script type="text/javascript">
var mapper = new Array();
<% parent_categories.each_with_index do |parent_category,i| -%>
mapper["#{parent_category.name}"] = <%= i -%>;
<% end -%>
</script>
}
и затем иметь возможность записать строковую переменную part_of_my_menu в файл HTML (это я могу сделать).
Я знаю, что это не то, как eval работает в Ruby, но кто-нибудь знает, как добиться такой же функциональности "оболочки"?
(fyi - код, который я хочу обернуть с помощью моей функции «eval», намного длиннее, чем этот, я только опубликовал очень маленький фрагмент, чтобы проиллюстрировать, чего я пытаюсь достичь)
Спасибо!