Deseo poder otorgar a los usuarios control total y editar el diseño. También quiero que puedan incluir qué plugins de javascript quieren. Por lo tanto, tuve que hacer una interfaz para permitirles hacer eso.Uso de stylesheet_link_tag y javascript_include_tag de Rails en Liquid Drop
Por ejemplo, el html por defecto se parece a una versión más complicada de este:
<head>
<title>{{site.name}}</title>
...
{{js_plugins.colorbox}} # this should return the necessary javascript and/or stylesheet tags
</head>
gota Mi líquido JsPlugins es así:
class JsPluginsDrop < Liquid::Drop
include ActionView::Helpers::AssetTagHelper
...
def colorbox
javascript_include_tag "/path/to/js"
end
end
Cuando ejecuto mi especificaciones embargo, consigo este error (tenga en cuenta que ve @drop["colorbox-1.3.15"]
cuando el código que proporcioné anteriormente actúa de manera diferente. Sin embargo, quería simplificar mi código ya que ese no es el problema, es el uso del TagHelper
que es el problema):
Failures:
1) JsPluginsDrop colorbox-1.3.15 should return the correct script tags
Failure/Error: @drop["colorbox-1.3.15"].stylesheets.should include("/jquery-plugins/colorbox-1.3.15/example1/colorbox.css")
undefined local variable or method `config' for #<JsPluginsDrop:0xcbfab38>
# ./app/drops/js_plugins_drop.rb:22:in `stylesheets'
# ./spec/models/js_plugins_drop_spec.rb:11
No me sorprenderá si el problema está causado por el hecho de que está separado de mi entorno Rails, y la caída no tiene acceso al config
de Rails. Como todavía quiero poder utilizar estos métodos de conveniencia y :cache => true
que dan, , ¿cómo puedo usar stylesheet_link_tag y javascript_include_tag dentro de un drop, si es posible?