我如何在 ruby slim 中渲染 css 内联,因为输出 css 没有插入到样式标签中
Posted
技术标签:
【中文标题】我如何在 ruby slim 中渲染 css 内联,因为输出 css 没有插入到样式标签中【英文标题】:How do i render css inline in ruby slim as output css is not being inserted inside a style tag 【发布时间】:2021-05-05 01:59:32 【问题描述】:我在 ruby 中有以下辅助函数:
def site_css_link_tag(merchant_canonical:, site_variant:, template_previewing:)
# TODO: will remove variant argument
is_js_generate = merchant_canonical.nil? && site_variant.nil? && template_previewing.nil?
url = is_js_generate ? '' : css_api_v2_shopfront_sites_url(
merchant: merchant_canonical,
variant: site_variant,
template_previewing: template_previewing
)
# return stylesheet_link_tag url, url, media: 'all', id: 'site-css', 'data-base-url': css_api_v2_shopfront_sites_url
cssStyles = File.read(File.join(Rails.root, 'public', Webpacker.manifest.lookup('shopfront_redux.css'))).html_safe
return cssStyles
end
它正确返回所有样式,即我确实在浏览器中看到了这样的输出:
但是如何将它添加到样式标签中?
我看过 ruby 文档here。它说对于 javascript 你可以有类似的东西:
javascript:
alert('ok')
我尝试像这样对 css 做同样的事情:
style:
site_css_link_tag(merchant_canonical: @merchant&.canonical_name, site_variant: @variant, template_previewing: @template_previewing)
但是这种变化似乎不起作用?那么如何再次输出 css 呢?
【问题讨论】:
【参考方案1】:试试css:
css:
site_css_link_tag(merchant_canonical: @merchant&.canonical_name, site_variant: @variant, template_previewing: @template_previewing)
【讨论】:
以上是关于我如何在 ruby slim 中渲染 css 内联,因为输出 css 没有插入到样式标签中的主要内容,如果未能解决你的问题,请参考以下文章