Лучший способ построить массив объектов Javascript на Ruby on Rails - PullRequest
1 голос
/ 26 октября 2010

У меня есть это, но я уверен, что это не лучший способ создать его.

var dogs = {
  'names' : ["a", "b", "c"],
  'images': [
  <% @dogs.images.each do |image| %>
  {
    'thumb' : '<%= image.thumb %>',
    'medium' : '<%= image.medium %>',
  } <%= "," unless(@dogs.images.last.id == image.id) %>
  <% end %>
  ]
}

Спасибо за вашу помощь!

1 Ответ

6 голосов
/ 26 октября 2010

Почему бы не использовать просто преобразование изображений в объект json, например:

var dogs = {
  'names' : ["a", "b", "c"],
  'images': <%= @dogs.images.to_json %>
}

Вы также можете перезаписать метод to_json в своей модели, чтобы исключить некоторые методы, которые вы не хотите отображать.

Вы можете увидеть, как перезаписать to_json здесь:

http://www.theirishpenguin.com/2008/05/19/quick-example-of-serialisation-via-to_json-in-ruby-on-rails/

...