【发布时间】:2015-10-28 02:39:45
【问题描述】:
我需要为 erb 模板以非常特定的格式呈现 Ruby 数组。这是因为我正在使用 JQcloud 使用 JQuery 构建词云,并且显然对数组格式很挑剔。
这里是JQcloud要求对JS数组进行格式化的方式:
var word_array = [
{text: "Lorem", weight: 15},
{text: "Ipsum", weight: 9},
{text: "Dolor", weight: 6},
{text: "Sit", weight: 7},
{text: "Amet", weight: 5}
// ...as many words as you want
];
所以我在控制器中创建了两个数组,一个用于构建我的云的单词数组,另一个用于每个单词的权重数组。
ruby_word_array = ["Lorem","Ipsum","Dolor","Sit","Amet"]
ruby_weight_array = [15,10,13,8,4]
我需要将我的两个 Ruby 数组转换为使用 erb 正确呈现的方式。到目前为止,我想出了:
var wordArray = <%= raw @word_array.map{|a, i| {text: @word_array[0], weight: 15} } %> # I just hard coded the weight for simplicity
这给了我一些很接近但不够接近的东西,它最终的格式如下:
var wordArray = [{:text=>"Lorem", :weight=>15}, {:text=>"Ipsum", :weight=>15}]
我真的只需要知道如何修改我的上一个示例以使用 Python 样式的哈希语法 {key: "value"},{key_2: "value_2"}
老实说,这是一个棘手的问题,我很难过。我为此使用的库称为 JQcloud,它有一个 Ruby gem,我已将它合并到这个 Rails 应用程序中。 Here is a link.
【问题讨论】:
标签: ruby-on-rails ruby ruby-on-rails-4 erb