ruby-on-rails action_rich_text呈现附加信息

a0zr77ik  于 2023-05-08  发布在  Ruby
关注(0)|答案(1)|浏览(110)

当呈现注解的主体时,如comment.body,其中主体为rich_text

class Comment < ApplicationRecord
    belongs_to :user
    belongs_to :task
    has_rich_text :body
    validates :body, presence: true
    validates_presence_of :user, :task
    has_many_attached :files
end

它在最后呈现了一些额外的信息,为什么会发生这种情况,以及如何删除它?
当前渲染输出如下
enter image description here
为什么这里有额外的图像
外展

<%= turbo_frame_tag dom_id(@task, "comments") do %>
    <%= render "comments/index", comments: @task.comments %>
<% end %>

指数

<div>
    <%= comments.each do |comment| %>
        <div>
            <%= turbo_frame_tag dom_id(comment) do %>
                <%= render "comments/show", comment: comment %>
            <% end %>
        </div><br>
    <% end %>
</div>

最后显示

<div>
    <div>
        <%= comment.body %>
    </div>
    <br>
</div>
6ojccjat

6ojccjat1#

带有等号(<%= %>)的ERB标记表示“运行此代码并打印返回”。
没有等号的ERB标记(<% %>)表示“运行此代码,但不打印返回”
在这段代码中:

<div>
    <%= comments.each do |comment| %>
        <div>
            <%= turbo_frame_tag dom_id(comment) do %>
                <%= render "comments/show", comment: comment %>
            <% end %>
        </div><br>
    <% end %>
</div>

您正在打印:

  • “评论/显示”的结果(你想要的)
  • turbo_frame_tag(也是你想要的)
  • comments.each {}的数组结果(不是你想要的)

只需切换您的标签:

<div>
    <% comments.each do |comment| %>
        <div>
            <%= turbo_frame_tag dom_id(comment) do %>
                <%= render "comments/show", comment: comment %>
            <% end %>
        </div><br>
    <% end %>
</div>

相关问题