0

更新:这似乎发生在--api我使用的唯一版本上。可以通过使用--api标志创建一个新的 rails 项目来复制它。

@model.content.body.to_html似乎返回了正确的内容。


我在使用 ActionText 时遇到问题。这个问题我有一段时间了,网上也找不到答案,希望有人能帮我解决。

有时,我无法访问 ActionText 值。

我将其包含在我的Section模型中:

has_rich_text :content

我可以通过执行以下操作来设置数据:

@section.content = "<p>Hello world</p>"

但是,我看不到控制台中的文本,也看不到 erb 模板。我认为它只是一个空字符串,或者在邮件模板中,它根本不显示。

section.content
=> #<ActionText::RichText id: 1, name: "content", body: #<ActionText::Content " ">, record_type: "Section", record_id: "f9c5743c-fb16-411e-82ad-325817849a40", created_at: "2020-05-09 14:54:48", updated_at: "2020-05-13 01:35:34">

section.content.body
=> #<ActionText::Content " ">

section.content.body.to_s
=> " "

section.content.to_json
=> "{\"id\":1,\"name\":\"content\",\"body\":\"\\u003cdiv\\u003e\\u003c!--block--\\u003eThis is an overview for Chapter 1.\\u003c/div\\u003e\",\"record_type\":\"Section\",\"record_id\":\"f9c5743c-fb16-411e-82ad-325817849a40\",\"created_at\":\"2020-05-09T10:54:48.633-04:00\",\"updated_at\":\"2020-05-12T21:35:34.546-04:00\"}"

section.content.body.to_json
=> "\"\\u003cdiv\\u003e\\u003c!--block--\\u003eThis is an overview for Chapter 1.\\u003c/div\\u003e\""

我似乎无法访问该值,除非我将其转换为 JSON。该值在我的 API 序列化器中也可以正常提取,但这也是 JSON。我无法从 rails 控制台访问它,也无法在我的邮件模板中访问它,并且我正在像这样在我的模板中输出它:

<%= JSON.parse(@chapter.sections.first.content.body.to_json).html_safe %>

我如何访问该值,或对如何进行故障排除有任何想法?

谢谢你。

Rails 6.0.3
ruby 2.7.1p83
4

0 回答 0