2013-05-29 46 views
2

我有一个用户可以添加多个产品(使用嵌套表单)的页面。与嵌套表单一起使用时TinyMCE-rails不起作用

每个条目有两个字段“名”和“说明”,其中我使用TinyMCE的护栏进行描述的文本区域

的问题是,当我添加使用嵌套形式的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的护栏(3.5.8.1)宝石与资产的管道,而不是普通的TinyMCE

回答

0

您需要添加新的嵌套字段后初始化TinyMCE的一起。因此,假设你正在使用TinyMCE的,jQuery的,应该是这样的:

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

基本上,你听了一nested:fieldAdded事件,让加(event.field)的DOM对象,并对其INITING TinyMCE的。

+0

我得到的JavaScript错误为“tinymce不是函数” – furiabhavesh

+0

我使用的是tinymce-rails,它需要我调用tinymce为'<%= tinymce:simple%>' – furiabhavesh