Как скрыть данные, передаваемые из представления Rails, в javascript / coffee?

1

Я пытаюсь передать данные из контроллера в мой javascript (файл.coffee), и я нашел несколько разных способов сделать это, например, использовать атрибут data в html, например, так: <%= content_tag "div", id:"answers", data-answer='<%=@answer%>' и я попробовал gon gem, но дело в том, что данные отображаются в html, и я хочу скрыть эти данные из html, потому что я ' Я делаю приложение для викторины, и пользователи не могут легко увидеть ответы в html, хотя я не против этого внутри файла.coffee. Есть какой-либо способ сделать это?

Теги:
model-view-controller
coffeescript

1 ответ

0

Да, есть способы сделать то, что вы описываете. Сначала, однако, я написал бы это:

<%= content_tag "div", id:"answers", data-answer='<%=@answer%>'

как это:

<%= content_tag :div, id: "answers", data: {answer: @answer} %>

Затем в вашем файле .coffee вы можете сделать что-то вроде

@$answer = $('#answer').data().answer
$('#answer').remove

Это присвоит значение answer переменной @$answer а затем удалит исходный div из DOM чтобы пользователь не мог его увидеть.

  • 0
    Хороший обходной путь, не знал, что есть функция удаления (). Я должен был подумать об этом, спасибо
  • 0
    Я изменил data().answer на data('answer') потому что он говорит, что Cannot read property 'answer' , но затем в консоли появляется undefined . Есть идеи почему ?? Но div появляется в DOM, так что все в порядке, мне просто нужно извлечь его.
Показать ещё 1 комментарий

Ещё вопросы

Сообщество Overcoder
Наверх
Меню