2

我有一个页面,用户可以在其中添加多个产品(使用嵌套表单)。

每个条目都有两个字段“名称”和“描述”,我在其中使用 TinyMCE-rails 作为描述的文本区域

问题是,当我使用嵌套表单的 link_to_add 助手添加第一个产品时,tinymce 编辑器不允许我在其中输入任何内容。

add_products.html.erb

<%= form.fields_for :products, @products do |product_form|-%>
  <%= render :partial => 'short_product_form', :locals => {:product_form => product_form} %>
<% end -%>
 <%= form.link_to_add "Add Product", :products %>

_short_product_form.html.erb

<%= product_form.text_area :description, :class=> "tinymce" %>
<%= tinymce :simple %>

在使用 link_to_add 方法添加产品后,我是否需要调用任何东西,或者我必须重新初始化 tinymce 中的任何设置?

注意:我使用的是 tinymce-rails(3.5.8.1) gem 以及资产管道,而不是普通的 tiny-mce

4

1 回答 1

0

添加新的嵌套字段后,您需要初始化 TinyMCE。因此,假设您使用的是 tinymce-jquery,应该类似于:

$(document).on('nested:fieldAdded', function(event){
  event.field.find('textarea').tinymce({
    theme: 'simple'
  });
});

基本上,您正在监听一个nested:fieldAdded事件,添加 dom 对象 ( event.field) 并在其上初始化 tinymce。

于 2013-05-29T09:02:38.843 回答