2015-12-27 2 views
0

Я пытаюсь решить проблему с рельсами и 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 

Я хочу, чтобы сделать этот яваскрипт многоразовой: проблема этой линии

$('#gate_meta_body') 

, где gate связан с моим классом (Gate). Мне нужно изменить это в соответствии с моим классом. Я tryng передать класс в кнопке с

@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. Значение «element», хранящееся в