Dan*_*gel 1 ruby ruby-on-rails trix ruby-on-rails-6 actiontext
我正在渲染一个使用 ActionText 输入 rich_text_area 的表单,它是 Trix WYSIWYG 富文本编辑器的 Rails 实现。它一直工作得很好,直到我开始重构我的视图以使用布局,其中表单内容可以产生不同的表单。表单呈现良好,除了rich_text_areas 之外,删除使其成为布局所需的代码可使其恢复正常。我的代码如下。
\n\n我正在使用以下代码将表单呈现为部分形式:
\n\n<%= stylesheet_link_tag "form" %>\n<%= form_with model: @family, class: "form-group" do |f| %>\n\n <%= label_tag(:banner_image, \'Select a Banner Image\')%>\n <%= f.file_field :banner_image%>\n <br>\n <br>\n\n <%= label_tag(:zh_family_name, \'Chinese Family Name\') %>\n <%= f.text_field :zh_family_name %>\n <br>\n <br>\n <%= label_tag(:en_family_name, \'English Family Name\') %>\n <%= f.text_field :en_family_name %>\n <br>\n <br>\n <%= label_tag(:en_summary, \'Summary\') %>\n <%= f.text_field :en_summary %>\n <br>\n <br>\n <%= label_tag(:zh_summary, \'Summary Chinese\') %>\n <%= f.text_field :zh_summary %>\n <br>\n <br>\n\n <%= label_tag(:en_content, \'Content\') %> \n <%= f.rich_text_area :en_content_rt %>\n <br>\n <br>\n\n <%= label_tag(:zh_content, \'\xe5\x86\x85\xe5\xae\xb9\') %>\n <%= f.rich_text_area :zh_content_rt %>\n <br>\n <br>\n\n <%= label_tag(:service_id, \'Select a related service\') %>\n <%= f.collection_select(:service_id, Service.all, :id, :en_title) %>\n <br>\n <br>\n <%= f.submit %>\n<% end %>\nRun Code Online (Sandbox Code Playgroud)\n\n它工作正常,富文本区域可见,并且可以在将此表单作为部分内容加载到 edit.html.erb 文件中时使用,如下所示:
\n\n<%= render "partials/family_form" %>\nRun Code Online (Sandbox Code Playgroud)\n\n但我想将其渲染为名为“编辑器”的布局的一部分,因此我将 edit.html.erb 更改为:
\n\n<% content_for :form do %>\n <h1>Edit the <em><%= @family.en_family_name %></em> Testimonial </h1>\n\n <%= render "partials/family_form" %>\n<% end %>\nRun Code Online (Sandbox Code Playgroud)\n\n添加render layout: \'editor\'到控制器中的编辑功能,并添加如下所示的布局:
<!DOCTYPE html>\n<html lang="en">\n<head>\n <meta charset="UTF-8">\n <meta name="viewport" content="width=device-width, initial-scale=1.0">\n <meta http-equiv="X-UA-Compatible" content="ie=edge">\n <%= stylesheet_link_tag "editor" %>\n <%= yield :head %>\n</head>\n<body>\n <div class="main-container">\n <div class="sidenav">\n <%= render "partials/sidenav" %>\n </div>\n <div class="content">\n <%= yield :form %>\n </div>\n </div>\n</body>\n</html>\nRun Code Online (Sandbox Code Playgroud)\n\n我认为我已经将范围缩小到render layout: \'editor\'问题根源的代码,因为直接将表单代码粘贴到 editor.html.erb 布局文件中会产生相同的错误:除了富文本区域之外,所有内容都呈现良好。
我还没有在 Trix 存储库上看到此问题的报告,并尝试手动require \'action_text\'将 ActionText 帮助器添加到相关控制器,但无济于事。任何帮助将不胜感激,谢谢。