Какой хороший плагин или руководство я могу использовать для создания виджетов JavaScript из приложения Rails? - PullRequest
0 голосов
/ 28 мая 2010

Я уже давно смотрю по сторонам, и лучшее руководство, которое я видел до сих пор, - это виджеты доктора Ника для DIY (здесь) .

Я не смог сделать что-то вроде этой работы:

Предполагая, что это мой код виджета:

<script src="http://mysite/nomnoms.js"> </script>

И мой контроллер nomnoms выглядит так (предположим, что частичный список существует и просто перечисляет ссылку на страницу показа каждого nomnom в переменной @nomnoms):

class NomnomsController < ApplicationController

def index
  @nomnoms = Nomnom.find(:all)
  @content = render_to_string(:partial => 'list')
end

end

И в index.js моего nomnoms_controller у меня есть:

page << "document.write('<div>'"
page << "document.write('#{@content.to_json}')"
page << "</div>"

Приведенная выше настройка ничего не отображает :(. Но когда я меняю вторую строку index.js на:

page << "document.write('nomnoms should be here')

... виджет отображает текст. Любая помощь или даже точка в правильном направлении будет принята с благодарностью. Заранее спасибо.

Ответы [ 2 ]

0 голосов
/ 06 июня 2010

Наконец-то разобрался. Я смог сделать рендеринг div'ов, выполнив две вещи:

Во-первых, я инстанцировал строку в переменной внутри index.js примерно так:

text = @content.to_json.chop.slice(1..-1)

И использовал это как замену в реальном javascript.

page << %Q{document.getElementById("nomnom-list").innerHTML="#{text}"}

Во-вторых, как вы можете видеть из первого фрагмента кода, я удалил из строки как начальные, так и конечные неэкранированные двойные кавычки.

0 голосов
/ 31 мая 2010
  1. Показывает ли index.js элементы div?
  2. Если вы введете http://mysite/nomnoms.js в своем браузере, будет ли он отображать скрипт?

Джордж

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...