由于旧的trix编辑器/ gem不再起作用,因此我已将我的应用程序升级到5.2并倾向于使用ActionText。 现在,新帖子会显示其“描述”,但是如何使用新安装的ActionText显示旧帖子的描述?
post.rb has_rich_text :description
posts_controller.rb
...params.require(:post).permit(:description)
_form.html.erb
<%= f.rich_text_area :description %>
show.html.erb
<%= @post.description %>
描述仅从ActionText中的新记录中获取,而不会从旧帖子的现有“描述”列中显示
答案 0 :(得分:1)
我遇到了类似的问题,但是在rails回购或任何地方都找不到干净的解决方案。作为一种解决方法,就您而言,我会尝试:
show.html.erb:。
<%= @post.try(:description).body || @post[:description] %>
那不能解决问题,但是可以帮助您填充旧的帖子值。
答案 1 :(得分:0)
这个答案对我有用。它还具有清理数据库中用于普通(非富文本)内容的表的额外好处。
”假设您的模型中有一个“内容”,这就是您要迁移的内容,首先,将其添加到您的模型中:“
has_rich_text :content
“然后创建迁移”
rails g migration MigratePostContentToActionText
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
您可以在这里找到我使用的原始解决方案 https://github.com/rails/rails/issues/35002#issuecomment-562311492