Я хочу иметь возможность предоставить пользователям полный контроль и редактировать макет.Я также хочу, чтобы они могли включать то, какие плагины JavaScript они хотят.Поэтому мне пришлось создать интерфейс, чтобы позволить им это сделать.
Например, html по умолчанию выглядит как более сложная версия этого:
<head>
<title>{{site.name}}</title>
...
{{js_plugins.colorbox}} # this should return the necessary javascript and/or stylesheet tags
</head>
My Liquid JsPlugins drop isнапример:
class JsPluginsDrop < Liquid::Drop
include ActionView::Helpers::AssetTagHelper
...
def colorbox
javascript_include_tag "/path/to/js"
end
end
Когда я запускаю свои спецификации, я получаю эту ошибку (обратите внимание, что вы видите @drop["colorbox-1.3.15"]
, когда приведенный выше код действует по-другому. Однако я хотел упростить свой код, поскольку этопроблема не в этом, а в использовании TagHelper
):
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
Я не удивлюсь, если проблема вызвана тем фактом, что она отделена от моей среды Rails,и падение не имеет доступа к config
Rails.Поскольку я все еще хочу иметь возможность использовать эти удобные методы и :cache => true
, которые они дают, как я могу использовать stylesheet_link_tag и javascript_include_tag из капли , если это вообще возможно?