2015-08-27 1 views
0

Я хочу получить значение моей переменной (рубиновый массив) динамически в файле erb. Я могу вызвать значение на странице erb, но по мере того, как моя работа продолжает работать, и значение переменной продолжает меняться, и я хочу, чтобы ее изменения отражались в моем файле erb.Как сделать вызов ajax из файла erb в лихой структуре?

+0

Показать ваш код? –

ответ

0

Надеюсь, вы наслаждаетесь своим личным опытом.

Идея Dashing заключается в том, что любые события и большинство динамического контента будут обрабатываться/генерироваться в клиенте (в браузере). Бэкенд знает, как получить данные, интерфейс знает, как его показать.

Необходимо, чтобы клиентская сторона CoffeeScript отражала изменения, отправленные на приборную панель. Итак, ваше задание на Ruby должно отправить массив данных виджетов - каждый элемент, представляющий один виджет.

Затем вы перебираете данные и инициализируете их в своем виджете.

Batman.js обеспечивает просмотр-привязок, которые могут цикл по данным [1]:

<li data-foreach-item="items"><div class="my-awesome-widget></div></li> 

Вы также можете цикл над ним в методе CoffeeScript Ondata:

onData: (data) -> 
    $.forEach data, (widget) => 
    @makeMyWidget widget 

Если вы хотите прятать виджет на основе данных, вы можете сделать это в своем onData:

// Ruby Job 
send_event('event', { data: the_data, hidden: true }) 

// Widget CoffeeScript 
onData: (data) => 
    if(data.hidden) 
    $(@node).hide(); 
+0

Например, у меня есть два виджета, один из которых показывает температуру в виджетном графике, а другой показывает другие данные, используя виджет счетчика. В следующий раз, когда работа запустится, я получаю только один виджет, показывающий температуру в виде виджета. Я хотел бы скрыть другой виджет счетчика. Как достичь этого? –

+0

Я не уверен, что я понимаю, о чем вы спрашиваете, но я добавил пример, показывающий, как скрыть виджет. В принципе, данные, которые вы отправляете в send_event, должны включать в себя некоторые метаданные о том, какой макет использовать (в этом случае варианты макета отображаются как показанные, так и скрытые). – tylermauthe

+1

Спасибо! это сработало! –

Смежные вопросы