在Ruby on Rails上构建Javascript对象数组的最佳方法

Ame*_*uez 1 javascript ruby-on-rails erb

我有这个,但我很确定这不是构建它的最好方法.

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 %>
  ]
}
Run Code Online (Sandbox Code Playgroud)

谢谢你的帮助!

Max*_*lze 6

为什么不使用只是将图像转换为json对象,如:

var dogs = {
  'names' : ["a", "b", "c"],
  'images': <%= @dogs.images.to_json %>
}
Run Code Online (Sandbox Code Playgroud)

您还可以覆盖模型中的to_json方法,以排除您不想显示的某些方法.

你可以在这里看到如何覆盖to_json:

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