Мы используем Усы шаблоны, и я хотел бы сделать предварительный просмотр в нашем веб-приложении RoR, который объединяет шаблон и некоторые данные, которые мы сохранили в нашей базе данных, но он не работает, как я ожидали после некоторого поиска в интернете (включая SO!) я не нашел примеров, включающих активную модель.
Как передать записи ActiveModel в Усы для слияния с шаблоном?
Настройка:
Схема
create_table "templates", :force => true do |t|
t.string "kind"
t.text "data"
t.integer "data_count"
end
create_table "bars", :force => true do |t|
t.string "guid"
t.string "name"
t.string "summary"
end
В моделях нет ничего особенного.Оба подкласса из ActiveRecord :: Base
class Bars < ActiveRecord::Base
end
class Templates < ActiveRecord::Base
end
Контроллер
class TemplateController < ApplicationController
def preview
@result = Mustache.render( template.data, :bars => Bar.limit(template.data_count ) ).html_safe
end
end
Вид
<%= @result %>
Маршрут
get 'templates/:id/preview' => 'templates#preview', :as => 'templates_preview'
Данные
y Bar.all
---
- !ruby/object:Bar
attributes:
guid: "1"
name: "test1"
- !ruby/object:Bar
attributes:
guid: "2"
name: "test2"
Шаблон (я упростил HTML для примера)
<html>
<head>
</head>
<body>
{{#bars}}
<a href="{{guid}}">{{name}}</a>
{{/bars}}
</body>
</html>
Результат
<html>
<head>
</head>
<body>
<a href=""></a>
</body>
</html>
Ожидание
<html>
<head>
</head>
<body>
<a href="1">test1</a><a href="2">test2</a>
</body>
</html>
Я надеюсь, что есть простой ответ на этот вопрос, и я просто скучаю по нему.Спасибо.