При отправке почты мне нужно преобразовать почту в PDF-документ.Сгенерировать PDF путем привязки шаблона erb, который содержит переменную экземпляра при отправке по электронной почте
Для того, чтобы сделать это, мне нужно, чтобы связать шаблон ERB с данными, но шаблон ERB содержит переменные экземпляра
пусть шаблон будет ..,
<h1>Name: <%[email protected]%><h1>
<h2>Address: <%= @address %><h2>
Я следовал за это решение упомянуть в question, используя пространство имен для привязки шаблонов к данным.
class Namespace
def initialize(hash)
hash.each do |key, value|
singleton_class.send(:define_method, key) { value }
end
end
def get_binding
binding
end
end
ns = Namespace.new(name: 'Joan', address: 'Chennai, India')
ERB.new(template).result(ns.get_binding)
Это прекрасно работает для шаблонов, которые не содержат переменных экземпляра.
Мне нужно передать данные в переменные экземпляра в шаблоне, есть ли возможность для этого.
И я знал способ решить эту проблему путем присвоения переменных экземпляра с данными, которые мы связываем т)
в шаблоне
<% @name = name %>
<% @address = address %>
<h1>Name: <%[email protected]%><h1>
<h2>Address: <%= @address %><h2>
Но я не хотите такого рода реализации.