Für die Verwendung von Flüssigkeit in Ruby on Rails (insbesondere Rails 3) - Ich glaube, der richtige Weg, um Ihre Flüssigkeit Vorlagen zu rendern (und auch alle die Arbeit Rails tut für Sie) ist wie folgt...
Das Liquid Gem selbst stellt eine liquid_view für Rails zur Verfügung, so dass Sie die Rails verdrahten können, um nach "flüssigen" Templates zu suchen, wenn Sie #render aufrufen. Diese liquid_view funktioniert nur vollständig mit rails 2.3 kann aber leicht auf Rails 3 aktualisiert werden, indem man folgendes Update durchführt
if content_for_layout = @view.instance_variable_get("@content_for_layout")
assigns['content_for_layout'] = content_for_layout
elsif @view.content_for?(:layout)
assigns["content_for_layout"] = @view.content_for(:layout)
end
assigns.merge!(local_assigns.stringify_keys)
Dies kann hier eingesehen werden --> https://github.com/danshultz/liquid/commit/e27b5fcd174f4b3916a73b9866e44ac0a012b182
Um Ihre Flüssigkeitsansicht richtig zu rendern, rufen Sie einfach
render :template => "index", :layout => "my_layout", :locals => { liquid_drop1 => drop, liquid_drop2 => drop }
Da wir in unserer Anwendung eine Handvoll gemeinsamer Flüssigkeitsattribute haben, haben wir die "Render"-Methode in unserem Basis-Controller überschrieben, um die Standard-Locals automatisch einzubeziehen, indem wir #liquid_view_assigns referenzieren, die zusätzlich hinzugefügte Flüssigkeitstropfen für den Render-Aufruf aufrollen
def render(...)
options[:locals] = options.fetch(:locals, {}).merge(liquid_view_assigns)
super
end