ruby-on-rails - Rails actiontext/trix 显示问题

标签 ruby-on-rails trix actiontext

我正在尝试将富文本编辑器整合到我的应用程序中,但没有成功。我本来打算使用 CKEditor,但遇到了一个事实,即 Rails 6 已经很好地集成了 actiontext/trix……我是这么认为的。

我遵循了 https://edgeguides.rubyonrails.org/action_text_overview.html 中的标准安装步骤

所以,除非我遗漏了什么,否则我现在在这些文件中有以下代码:

app/javascript/packs/actiontext.scss

@import "trix/dist/trix";

.trix-content {
  .attachment-gallery {
    > action-text-attachment,
    > .attachment {
      flex: 1 0 33%;
      padding: 0 0.5em;
      max-width: 33%;
    }

    &.attachment-gallery--2,
    &.attachment-gallery--4 {
      > action-text-attachment,
      > .attachment {
        flex-basis: 50%;
        max-width: 50%;
      }
    }
  }

  action-text-attachment {
    .attachment {
      padding: 0 !important;
      max-width: 100% !important;
    }
  }
}

app/javascript/packs/application.js

require("@rails/ujs").start()
require("turbolinks").start()
require("@rails/activestorage").start()
require("channels")

import $ from 'jquery';
import 'bootstrap/dist/js/bootstrap';

$(document).on('turbolinks:load', function() {
  $('body').tooltip({
    selector: '[data-toggle="tooltip"]',
    container: 'body',
  });

  $('body').popover({
    selector: '[data-toggle="popover"]',
    container: 'body',
    html: true,
    trigger: 'hover',
  });
});

require("trix")
require("@rails/actiontext")

app/javascript/packs/application.scss

@import "./actiontext.scss";

我希望编辑器出现的模型是: app/models/note.rb

class Note < ApplicationRecord
  has_rich_text :comment
end

关联的 View /表单现在位于下方,只有 comment 字段是启用丰富的字段: app/views/notes/edit.html.erb

<%= form_for @note, url: project_target_note_path(id: @note.id) do |f| %>
    <div class="form-group">
        <%= f.label :title %>
        <%= f.text_field :title, class: "form-control" %>
    </div>
    <div class="form-group">
        <%= f.label :comment %>
        <%= f.rich_text_area :comment, cols: 20, rows: 40, class: "form-control" %>
    </div>
    <div>
        <%= f.submit "Update", class: "btn btn-success" %>
    </div>
<% end %>

我在这里不知所措......根本没有显示任何按钮:

form with no buttons!

我错过了什么?

更新 1: 我将 actiontext.scss.../packs/ 移到 app/assets/stylesheets/ 并更改了一些导入:

所以,现在 app/assets/stylesheets/application.scss 很简单:

//= require actiontext

我重新启动了 webpacker 和我的 rails 服务器:

> bin/webpack-dev-server
> rails s

现在我得到了按钮,但它们没有图标: update1

更新 2:

得到了用图标显示的按钮……终于。不确定这是否正确,因为它没有记录,但我不得不手动导入 application.scss

../layouts/application.html.erb 我补充说:

<%= stylesheet_link_tag "application" %>

最佳答案

如果有人在这里遇到同样的问题: 对我来说,它有助于在 application.scss 中导入 trix 样式和新的 actiontext 样式表(不仅是 Rails 指南中建议的样式表)。 对我来说,顺序也很重要!

// application.scss
@import "trix/dist/trix";
@import "./actiontext.scss";

关于ruby-on-rails - Rails actiontext/trix 显示问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60657106/

相关文章:

ruby-on-rails - 将按钮添加到 Rails ActionText 工具栏

ruby-on-rails - 在 Controller 测试中使用通过 Active Storage 上传的图像创建对象时遇到问题

ruby-on-rails - 薄启动错误 (`start_unix_server' : no unix-domain acceptor (RuntimeError))

ruby-on-rails - Rails验证或可能的路由错误

ruby-on-rails - 参数缺失或值为空 : user rails 4

ruby-on-rails - 从相同的 SGID 加载 ActionText::Attachable 在恢复数据库后不再有效

ruby-on-rails - 全局化和行动文本

ruby-on-rails - rails 6 : ActionText attached image not rendering in _blob partial template