我正在尝试在已升级到 Rails 6.0.1 的应用程序上实现 ActionText。
我运行rails action_text:install
并迁移,然后添加has_rich_text :content
到我的comment
模型中。然后以我切换f.text_area :content
到的形式f.rich_text_area :content
。
但是出现的编辑器看起来像这样并且不能附加文件。我究竟做错了什么?
我正在尝试在已升级到 Rails 6.0.1 的应用程序上实现 ActionText。
我运行rails action_text:install
并迁移,然后添加has_rich_text :content
到我的comment
模型中。然后以我切换f.text_area :content
到的形式f.rich_text_area :content
。
但是出现的编辑器看起来像这样并且不能附加文件。我究竟做错了什么?
从 Rails 5.2 升级到 Rails 6.0 后,我遇到了类似的问题。请在您的 application.scss 中添加以下行:
@import 'trix/dist/trix.css'
@import '动作文本'
查看这些博客以获取更多详细信息:
https://blog.rubynetti.it/i/how-to-add-action-text-in-rails-6:
https://blog.francium.tech/action-text-in-rails-6-a-brief-intro-dd33fb412eb5
希望能帮助到你。
你可以参考这个:https ://github.com/rails/webpacker/issues/2059
基本上构建链是这样工作的:
(if extract_css == true) -> application stylesheet -> MiniCssExtractPlugin -> application.css -> stylesheet_pack_tag 'application'
(if extract_css == false) -> application stylesheet -> style-loader -> application.js (loads css in head)
因此,如果您想使用,stylesheet_pack_tag
那么以下步骤可能会对您有所帮助:
extract_css: true
在webpacker.yml
@import "trix/dist/trix";
进入javascript/stylesheets/application.scss
import "../stylesheets/application";
进入
javascript/stylesheets/application.js
<%= stylesheet_pack_tag 'application', media: 'all', 'data-turbolinks-track': 'reload' %>
进入application.html.erb
./bin/webpack
&&rails s
Rails 6.1 Webpacker Tailwind 2.1 与 JIT
我添加@import 'trix/dist/trix.css';
到application.scss
让 Trix 按预期工作。
我不确定为什么通过添加来解决这个问题
@import "trix/dist/trix.css";
到application.scss因为我完全怀疑actiontext.scss 第 6 行
//= require trix/dist/trix
is 也这样做,但不确定为什么它不拉 css。
解决方案- 添加@import "trix/dist/trix.css";
到 application.scss。
升级后我缺少的一个部分是:
<%= javascript_pack_tag 'application' %>
我的放在app/views/layouts/application.html.erb
. 只要确保它包含在某个地方。
不是这样,检查以确保 actiontext 的样式表也被包含在内。
要解决富文本区域不显示的问题,如果您使用 Webpack 加载资产,您可能需要添加 <%= javascript_pack_tag "application" %>,如果使用资产管道(如有人在我的类似问题中很有帮助地推荐)。
但我不确定这是否会修复工具栏按钮的样式,因为我仍然有这个问题。如果我找到解决办法,会回到这个问题。
编辑我通过将trix 编辑器样式表的全部内容添加到 actiontext.scss 文件然后使用 <%= stylesheet_link_tag 'actiontext' %> 将样式表显式拉入我的布局文件来修复损坏的样式注意:这样做你会还必须在 config/initializers/assets.rb 行的资产预编译行中定义它:
Rails.application.config.assets.precompile += %w( sidenav.css editor.css form.css actiontext.css )