У меня есть строка, которая хранится в моей базе данных, которая используется как пользовательский макет.Можно ли преобразовать строку в частичную?
Я хотел бы разобрать их пользовательский макет внутри моего макета приложения, используя:
render_to_string(partial: custom_template, layout: "pdf_template", locals: locals)
Где custom_template
это строка из БД. Однако, когда я пытаюсь это сделать, я получаю:
NoMethodError: undefined method `to_sym' for nil:NilClass
Можно ли делать то, что я делаю? Если да, то что я могу сделать, чтобы закончить это?
я заметил, что я могу попробовать что-то вроде этого:
render_to_string(text: template, locals: locals, template: "pdf_template")
И
render_to_string(inline: template, locals: locals, template: "pdf_template")
Но делать это так, вдруг не может найти шаблон и возвращает:
ActionView::MissingTemplate: Missing template layouts/pdf_template with {:handlers=>[:erb, :builder, :coffee, :haml], :formats=>[:pdf], :locale=>[:en, :en]}. Searched in:
* "/Users/elephanttrip/Sites/shasta/app/views"
Это странно, потому что он отлично работал в его текущем местоположении и определении.
Да, я фактически использую Liquid в этом процессе. Но я пытаюсь обернуть «свои» макеты глобальной «оберткой», которая также является нашим макетом. Я не считаю, что Liquid справляется с этим. – Trip