2015-12-27 102 views
0

我正在嘗試解決rails和js的問題。Rails and coffeescript,pass

我有一個按鈕,在我看來

%button.action-button.floated.extra-small{:type => "button", data: {'save' => true, 'element' => @element_to_edit.class.to_s.underscore()}} Salva 

而且我有一個JavaScript文件

$('button[data-save]').on 'click', (event) -> 
    event.preventDefault() 
    html_meta_content = CKEDITOR.instances.editor1.getData() 
    $('#gate_meta_body').html(html_meta_content) 
    $('form.visual-edit-form').submit() 
    false 

我想使這個JavaScript的可重複使用的:問題是這條線

$('#gate_meta_body') 

其中gate與我的班(Gate)有關。我需要根據我的班級來改變這一點。我試圖通過按鈕與類

@element_to_edit.class.to_s.underscore() 

但我不明白我如何使用類值來更改我的JavaScript。

回答

0

請注意兩個更改爲原始代碼。 1.存儲在HTML按鈕中的'元素'值... data-element =「您的模型名稱」是使用jQuery構造提取的: element = $(this).data('element')。 2.提取的值包含在 $('## {element} _meta_body')中(作爲#{...})。

$('button[data-save]').on 'click', (event) -> 
    element = $(this).data('element') 
    event.preventDefault() 
    html_meta_content = CKEDITOR.instances.editor1.getData() 
    $('##{element}_meta_body').html(html_meta_content) 
    $('form.visual-edit-form').submit() 
    false 
+0

簡短的解釋會讓你的回答更有用 –

+0

對原始代碼進行兩處修改。 1.使用jQuery構造:element = $(this).data('element')提取存儲在