ruby-on-rails 升级到ActionText -编辑器无法正常工作/显示

eiee3dmh  于 2023-01-14  发布在  Ruby
关注(0)|答案(7)|浏览(160)

我正在尝试在已升级到Rails 6.0.1的应用上实现ActionText。
我运行了rails action_text:install并进行了迁移,然后将has_rich_text :content添加到我的comment模型中,然后在表单中将f.text_area :content切换为f.rich_text_area :content
但是出现的编辑器看起来像这样,不能附加文件。我做错了什么?

iaqfqrcu

iaqfqrcu1#

从Rails 5.2升级到Rails 6.0后,我遇到了类似的问题。请在您的应用程序.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
希望有帮助。

yyhrrdl8

yyhrrdl82#

Rails 6.1 Webpacker具有JIT的顺风2.1
我将@import 'trix/dist/trix.css';添加到application.scss,以使Trix按预期工作。

dl5txlt9

dl5txlt93#

您可以参考以下内容: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,那么以下步骤可能会对您有所帮助:
1.将extract_css: true设置为在webpacker.yml中开发
1.将@import "trix/dist/trix";转换为javascript/stylesheets/application.scss
1.将import "../stylesheets/application";转换为javascript/stylesheets/application.js
1.将<%= stylesheet_pack_tag 'application', media: 'all', 'data-turbolinks-track': 'reload' %>转换为application.html.erb
1.运行./bin/webpackrails s

wljmcqd8

wljmcqd84#

升级后我缺少的一个部分是:
<%= javascript_pack_tag 'application' %>
我的放在app/views/layouts/application.html.erb里,只要确保它包括在某个地方就行了。
如果不是这样,请检查并确保actiontext的样式表也包含在内。

uinbv5nw

uinbv5nw5#

我不知道为什么要通过添加以下内容来解决此问题
@import "trix/dist/trix.css";
application.scss,因为我完全怀疑actiontext.scss*第6行 *

//= require trix/dist/trix

它也做同样的事情,但不确定为什么它不拉css。

解决方案-将@import "trix/dist/trix.css";添加到application. scss中。

ax6ht2ek

ax6ht2ek6#

要解决富文本区域不显示的问题,如果您使用Webpack加载资产,则可能需要添加〈%= javascript_pack_tag“application”%〉,如果使用资产管道,则可能需要添加〈%= javascript_include_tag“application”%〉(正如有人在我的类似问题中所推荐的那样)。
但我不确定这是否能修复工具栏按钮的样式,因为我仍然有这个问题。如果我找到一个修复方法,我会回来的。

EDIT我已经修复了损坏的样式,方法是将trix editor stylesheet的全部内容添加到actiontext.scss文件中,然后使用〈%= stylesheet_link_tag 'actiontext' %〉显式将样式表拉到我的布局文件中注:这样做的话,你还必须在config/initializers/assets.rb的assets预编译行中定义它:

Rails.application.config.assets.precompile += %w( sidenav.css editor.css form.css actiontext.css )

x7rlezfr

x7rlezfr7#

导轨7的解决方案

actiontext添加到应用程序.scss的顶部

@import "actiontext.css";

...
...
...

Also you can find more details here

小心在布局中使用<%= stylesheet_link_tag "actiontext", "data-turbo-track": "reload" %>来解决这个问题。在我的例子中,这就是link_to两次触发GET请求的原因。

相关问题