我正在尝试在已升级到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
。
但是出现的编辑器看起来像这样,不能附加文件。我做错了什么?
7条答案
按热度按时间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
希望有帮助。
yyhrrdl82#
Rails 6.1 Webpacker具有JIT的顺风2.1
我将
@import 'trix/dist/trix.css';
添加到application.scss
,以使Trix按预期工作。dl5txlt93#
您可以参考以下内容:https://github.com/rails/webpacker/issues/2059
基本上构建链是这样工作的:
因此,如果您想使用
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/webpack
和rails s
wljmcqd84#
升级后我缺少的一个部分是:
<%= javascript_pack_tag 'application' %>
我的放在
app/views/layouts/application.html.erb
里,只要确保它包括在某个地方就行了。如果不是这样,请检查并确保actiontext的样式表也包含在内。
uinbv5nw5#
我不知道为什么要通过添加以下内容来解决此问题
@import "trix/dist/trix.css";
到application.scss,因为我完全怀疑actiontext.scss*第6行 *
它也做同样的事情,但不确定为什么它不拉css。
解决方案-将
@import "trix/dist/trix.css";
添加到application. scss中。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 )
x7rlezfr7#
导轨7的解决方案
将
actiontext
添加到应用程序.scss的顶部Also you can find more details here
小心在布局中使用
<%= stylesheet_link_tag "actiontext", "data-turbo-track": "reload" %>
来解决这个问题。在我的例子中,这就是link_to
两次触发GET
请求的原因。