Rails 7.2中如何引入simple_calendar gem的样式表?
解决simple_calendar样式引入问题
针对Sprockets(application.css)场景
- 将
application.css重命名为application.scss(gem提供的是SCSS格式样式,纯CSS文件无法解析SCSS语法) - 在
application.scss中替换原有*= require simple_calendar,改为:@import "simple_calendar"; - 执行
bundle install确认gem安装完成,重启Rails服务器(修改资源配置必须重启)
针对Tailwind CSS场景
Tailwind默认不扫描gem的资源目录,需额外配置让PostCSS定位到样式文件:
- 在
tailwind.config.js中,把gem的样式目录添加到配置项:module.exports = { content: [ "./app/views/**/*.html.erb", "./app/helpers/**/*.rb", "./app/assets/stylesheets/**/*.scss", // 添加simple_calendar样式路径 "./vendor/bundle/ruby/*/gems/simple_calendar-*/app/assets/stylesheets/**/*.scss" ], includePaths: [ "./vendor/bundle/ruby/*/gems/simple_calendar-*/app/assets/stylesheets" ] } - 保留
application.tailwind.css中的@import "simple_calendar";,重启服务器
通用兜底方案
若上述方法无效,直接在布局文件中单独引入样式:
在app/views/layouts/application.html.erb的<head>标签内添加:
<%= stylesheet_link_tag "simple_calendar", "data-turbo-track": "reload" %>
此方式会通过资源管道直接加载gem内的样式文件,无需在本地样式文件中引入
内容的提问来源于stack exchange,提问作者vince
相关产品推荐
相关产品推荐

