gpt4 book ai didi

ruby-on-rails - 在 Liquid Drop 中使用 Rails 的 stylesheet_link_tag 和 javascript_include_tag

转载 作者:行者123 更新时间:2023-12-04 21:24:56 27 4
gpt4 key购买 nike

我希望能够让用户完全控制和编辑布局。我还希望他们能够包含他们想要的 javascript 插件。因此,我必须制作一个界面来允许他们这样做。

例如,默认的 html 看起来像一个更复杂的版本:

<head>
<title>{{site.name}}</title>
...
{{js_plugins.colorbox}} # this should return the necessary javascript and/or stylesheet tags
</head>

我的 Liquid JsPlugins 滴是这样的:
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 环境分开造成的,并且 drop 无法访问 config,我不会感到惊讶。的 rails 。由于我仍然希望能够使用这些方便的方法和 :cache => true他们给予, 我如何从一个 drop 中使用 stylesheet_link_tag 和 javascript_include_tag ,如果有可能吗?

最佳答案

当这样做时,现在似乎可以这样做:

class MyDrop < Liquid::Drop

...
def my_js_tag
helpers.javascript_include_tag '/some/thing'
end
...

def helpers
@helpers ||= ActionController::Base.helpers
end

end

关于ruby-on-rails - 在 Liquid Drop 中使用 Rails 的 stylesheet_link_tag 和 javascript_include_tag,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5281860/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com