Ruby on rails 使用ActionText在Rails 5.2中显示现有内容

Ruby on rails 使用ActionText在Rails 5.2中显示现有内容,ruby-on-rails,ruby-on-rails-5,actiontext,Ruby On Rails,Ruby On Rails 5,Actiontext,我已经将我的应用程序升级到rails 5.2,并且倾向于使用ActionText,因为旧的trix编辑器/gem不再工作。 现在,新帖子显示它们的“描述”,但我如何用新安装的ActionText显示旧帖子的描述 post.rb有丰富的文本:说明 posts\u controller.rb …参数要求(:post).允许(:说明) _form.html.erb show.html.erb 描述仅从ActionText中的新记录中获取,而不是从旧帖子的现有“描述”列中显示我也有类似的问题,在ra

我已经将我的应用程序升级到rails 5.2,并且倾向于使用ActionText,因为旧的trix编辑器/gem不再工作。 现在,新帖子显示它们的“描述”,但我如何用新安装的ActionText显示旧帖子的描述

post.rb
有丰富的文本:说明

posts\u controller.rb
…参数要求(:post).允许(:说明)

_form.html.erb

show.html.erb


描述仅从ActionText中的新记录中获取,而不是从旧帖子的现有“描述”列中显示

我也有类似的问题,在rails repo或任何地方都找不到干净的解决方案。作为解决办法,在您的情况下,我会尝试:

show.html.erb:


这并不能解决问题,但可以帮助您填充旧的帖子值。

这个答案对我很有用。它还有一个额外的好处,就是清理数据库中用于普通(非富文本)文本内容的表

假设您的模型中有一个“内容”,而这正是您要迁移的内容,首先,将其添加到您的模型中:

“然后创建迁移”

rails g迁移MigratePostContentToActionText
class MigratePostContentToActionText
你可以找到我在这里使用的原始解决方案

has_rich_text :content
class MigratePostContentToActionText < ActiveRecord::Migration[6.0]
  include ActionView::Helpers::TextHelper
  def change
    rename_column :posts, :content, :content_old
    Post.all.each do |post|
      post.update_attribute(:content, simple_format(post.content_old))
    end
    remove_column :posts, :content_old
  end
end