You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Rails复制Event时ActionText富文本描述未同步,求解决方案

复制Event时事件描述未同步复制

环境配置

Schema定义

t.string "description"

模型配置

has_rich_text :description

活动建议表单代码

<%= f.text_area :description, placeholder: 'Enter the description of the event here', label: "Tell us about the event.", :class => "tinymce" %>

控制器复制方法

def duplicate
      original_event = Event.friendly.find(params[:id])
      @event = original_event.dup
      @event.name = original_event.name += " (copy)"
      @event.slug = original_event.slug
      @event.description = original_event.description
      @event.address = original_event.address
      @event.event_frequency = original_event.event_frequency
      @event.event_types = original_event.event_types
      @event.event_start_date = original_event.event_start_date
      @event.event_end_date = original_event.event_end_date
      @event.dance_styles = original_event.dance_styles
      @event.website_url = original_event.website_url
      @event.facebook_url = original_event.facebook_url
      @event.instagram_url = original_event.instagram_url
      @event.ticket_url = original_event.ticket_url
      @event.artists = original_event.artists

      render "suggest_event"
    end

已尝试的无效写法

@event.description.body = original_event.description.dup
@event.description_rich_text = original_event.description_rich_text.dup
@event.description = original_event.description.to_s

控制台查看的事件描述输出

3.0.2 :004 > e.description
  ActionText::RichText Load (0.5ms)  SELECT "action_text_rich_texts".* FROM "action_text_rich_texts" WHERE "action_text_rich_texts"."record_id" = $1 AND "action_text_rich_texts"."record_type" = $2 AND "action_text_rich_texts"."name" = $3 LIMIT $4  [["record_id", 21], ["record_type", "Event"], ["name", "description"], ["LIMIT", 1]]                                                         
  Rendered /Users/ogarocious/.rvm/gems/ruby-3.0.2/gems/actiontext-7.0.4/app/views/action_text/contents/_content.html.erb within layouts/action_text/contents/_content (Duration: 5.5ms | Allocations: 2229)                            
 =>                                                                   
#<ActionText::RichText:0x00007fa41c340a68                              
 id: 28,                                                               
 name: "description",                                                  
 body: #<ActionText::Content "<div class=\"trix-conte...">,           
 record_type: "Event",                                                 
 record_id: 21,                                                        
 created_at: Mon, 20 Feb 2023 02:27:52.500765000 UTC +00:00,
 updated_at: Tue, 21 Feb 2023 19:49:38.187025000 UTC +00:00> 

前端描述元素输出

<body id="tinymce" class="mce-content-body vsc-initialized" data-id="event_description" aria-label="Rich Text Area. Press ALT-0 for help." contenteditable="true" spellcheck="false" data-new-gr-c-s-check-loaded="14.1097.0" data-gr-ext-installed=""><div class="trix-content"><div class="trix-content">Awesome Fusion Event in Medellin</div></div></body>

疑问

使用TinyMCE编辑器进行富文本格式化,创建、编辑和展示描述均正常,仅在复制事件时出现此问题,其他字段均可正常复制。是否在事件描述/富文本/ActionText/Trix内容的处理上有遗漏?


内容的提问来源于stack exchange,提问作者Ogarocious

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.30 15:15:38