Как добавить в массив var javascript, используя content_for в Ruby on Rails? - PullRequest
0 голосов
/ 17 мая 2010

Прямо сейчас в моем коде я звоню content_for как ...

<% content_for :javascript do -%> <%= "var boxplot_data=#{@survey.boxplot_answers.to_json};" %> <% end -%>

Вместо того, чтобы преобразовывать целый массив сразу, я бы лучше добавил в массив boxplot_data, а затем отобразил его как var. Таким образом, я могу сделать мой код более легким для чтения, потому что сейчас, где я использую эти данные в своей части, нет того места, где я генерирую их для добавления в представление.

1 Ответ

0 голосов
/ 17 мая 2010

Полагаю, лучшим подходом было бы определить помощника:

def add_to_boxplot(val)
  @boxplot ||= []
  @boxplot << val
end

def json_boxplot
  "var boxplot_data = #{@boxplot.to_json}"
end

Тогда, по вашему мнению, просто используйте add_to_boxplot, а в макете вместо yield(:javascript) используйте json_boxplot.

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