Tag: 数组

合并基于ruby中特定键/值对的哈希值

我试图基于特定的键/值对合并散列数组。 array = [ {:id => ‘1’, :value => ‘2’}, {:id => ‘1’, :value => ‘5’} ] 我希望输出 {:id => ‘1’, :value => ‘7’} 正如patru所说,在sql术语中,这相当于: SELECT SUM(value) FROM Hashes GROUP BY id 换句话说,我有一个包含记录的哈希数组。 我想获得特定字段的总和,但总和将按键/值对分组。 换句话说,如果我的选择标准是:id,如上例所示,则它会将哈希值分成id为相同的组和其他键的总和。 对于由于之前的错字引起的任何混淆,我道歉。

为什么使用’gin’的add_index会创建一个’btree’索引呢?

我在PostgreSQL 9.3.4和Rails 4.0.4 。 我添加了一个“标签”列,以及相应的gin索引(或者,至少我要求一个)。 class AddTagsToPhotos < ActiveRecord::Migration def change add_column :photos, :tags, :text, array: true, null: false, default: [] add_index :photos, :tags, using: 'gin' end end 通过psqlvalidation结果: psql=# \d photos … tags | text[] | not null default ‘{}’::text[] Indexes: “index_photos_on_tags” btree (tags) 请注意,“标签”索引是btree类型 – 而我要求gin 。 现在手动创建一个索引以显示gin可用: psql=# create index index_photos_on_tags2 on […]

如何基于Rails中的哈希键合并哈希数组

我想基于唯一性合并这两个数组: “template_variables”: [{ “info_top”: “Some string” }, { “info_bottom”: “Other string” }], “user_variables”: [{ “info_top”: “Default string” }, { “info_bottom”: “Other default string” }, { “other_info”: “Default number” }] 因此,如果我从user_variables数组开始并向其添加template_variables ,则替换找到匹配项的哈希值。 我想要的输出是: “new_variables”: [{ “info_top”: “Some string” }, { “info_bottom”: “Other string” }, { “other_info”: “Default number” }] 我已经尝试了user_variables.merge(template_variables)及其变体,但这似乎不适合哈希数组。 我该怎么做呢?

无法在Postgres数组列中保存Rails 4.2数组

我正在尝试在每个Dictionary模型上保存一组术语(我希望能够基本上搜索标签)。 所以terms = [“apple”,“pear”,“fruit”]可能是我试图在Dictionary模型的每个实例上保存的术语数组的一个例子。 以前,术语是序列化文本列。 然后我将其更改为尝试利用Postgres数组数据类型,如下所示。 当我尝试更新模型(例如,dictionary_example1.terms = [“fruit”,“pineapple”],然后调用save)时,所有存储的都是一个空数组[]。 我究竟做错了什么? Model.rb class Dictionary < ActiveRecord::Base serialize :terms, Array end schema.rb create_table “clinical_trials”, force: :cascade do |t| t.string “terms”, array: true end 移民 class ChangeTermsToArray < ActiveRecord::Migration def change change_column :dictionaries, :terms, "varchar[] USING (string_to_array(terms, ','))" end end

Ruby on Rails – Hash of Arrays,group by和sum by many columns

我有一个类似的问题,这个主题Ruby on Rails – Hash of Arrays,group by和sum by column name 但是,我的问题是group by和sum by with many columns而不是one。 例如:我的哈希 [ {“idx”=>”1234”, “account”=>”abde”, “money”=>”4.00”, “money1″=>”1.00”, “order”=>”00001”, “order1″=>”1”}, {“idx”=>”1235”, “account”=>”abde”, “money”=>”2.00”, “money1″=>”1.00”, “order”=>”00001”, “order1″=>”1”}, {“idx”=>”1235”, “account”=>”abde”, “money”=>”3.00”, “money1″=>”1.00”, “order”=>”00002”, “order1″=>”2”} ] 结果是这样的 [ {“idx”=>”1234”, “account”=>”abde”, “money”=>”6.00”, “money1″=>”2.00″,”order”=>”00001”, “order1″=>”1”}, {“idx”=>”1234”, “account”=>”abde”, “money”=>”3.00”, “money1″=>”1.00″,”order”=>”00002”, “order1″=>”2”} ] 像这样的group_hashes arr, [“order”,”order1″], [“money”,”money1″] […]

计算Active Admin仪表板(Rails,Active admin 1.0,Postgresql数据库,postgres_ext gem)中序列化属性(数组)中值的出现次数

我想要一个基本表来总结数组中值的出现次数。 我的应用程序是一个每日交易应用程序,旨在了解更多Ruby on Rails。 我有一个模型交易,它有一个名为Deal_goal的属性。 它是一个在数组中序列化的多重选择。 这是来自schema.db的deal_goal: t.string “deal_goal”,:array => true 所以交易A可以有交易=目标= [交通,资格]和另一笔交易可以有deal_goal = [品牌,交通,收购] 我想要构建的是我的仪表板中的一个表,它将采用每种类型的目标(数组中的每个值)并计算其deal_goal的数组将包含此类目标并计算它们的交易数。 我的目标是拥有这张桌子: 我怎样才能做到这一点? 我想我需要为每种类型的值对每个deal_goal数组进行分组,然后计算这些目标在数组中出现的次数。 我对RoR很新,无法做到。 这是我到目前为止的代码: column do panel “top of Goals” do table_for Deal.limit(10) do column (“Goal”), :deal_goal ???? # add 2 columns: ‘nb of deals with this goal’ ‘Share of deals with this goal’ end end 任何帮助将非常感激!

基于排序值数组对哈希数组进行排序

我有一系列哈希,如下所示: user_quizzes = [{:id => 3897, :quiz_id => 1793, :user_id => 252}, {:id => 3897, :quiz_id => 1793, :user_id => 475}, {:id => 3897, :quiz_id => 1793, :user_id => 880}, {:id => 3897, :quiz_id => 1793, :user_id => 881}, {:id => 3897, :quiz_id => 1793, :user_id => 882}, {:id => 3897, :quiz_id => 1793, :user_id […]

Ruby on Rails:如何从记录生成数组以在Highcharts中显示?

我需要将数据集显示为Highcharts柱形图。 我不知道如何将数据传递给Highcharts的Javascript方法以显示我当天的业务流程分数。 数据集是在我的BusinessProcess控制器中构建的: @business_process_history = DmMeasure.where(“period_id between ? and ? and ODQ_object_id = ?”, first_period_id, current_period_id, “BP-#{@business_process.id}”).select(“period_day, score”).order(“period_id”) 这给出了预期的2个字段,10个记录结果,并且将完美地显示在HTML表中。 更新: 多巴哥的建议给出了预期的arrays数组, [[“20140820”, #], …] 但问题没有解决。 这是函数调用,包括多巴哥的建议: $(function () { $(‘#measures’).highcharts({ chart: {type: ‘column’}, title: {text: ‘Data quality trend’}, xAxis: { title: {text: ‘Time’} }, yAxis: { title: {text: ‘Score’} }, series: [{ data: }] }); […]

数组不会持久保存到数据库

我正在尝试在我的数据库中存储一个数组(:vehicles)。 该arrays由用户通过复选框选择的3种可能的车辆组成。 ‘:vehicles’属性类型是’text’,我使用此代码使其成为一个数组: serialize :vehicles, Array 如果我发送参数,它会在数组中获取这些值。 “vehicles”=>[“0”, “1”, “2”], “commit”=>”Sign up!”, “controller”=>”registrations”, “action”=>”create” 问题是当我尝试保存时,此数组不存储在数据库中。 在数据库中,代码如下所示: vehicles: [] 控制器代码: def create @student = Student.create(student_params) if @student.save! redirect_to @student else render :new end end 学生参数: def student_params params.require(:student).permit(availabilities_attributes: [ :id, :day, :available]) end 任何人都知道如何将这些值放入此数组中? 谢谢!

从多维数组中绘制Flot中的多个数据集

我希望有人可以帮助我解决我遇到的问题。 我正在使用Flot图和ruby on rails我没有问题设置两者中的任何一个,但我确实有一个问题,在一个图上绘制多个数据集。 我正在查询数据库并将结果返回到这样的数组中 [2015-2-01 12:00:00,50.4, 26.8,29.9,30.4] [2015-2-01 12:10:00,56.4, 26.3,29.9,70.4] 在我得到ruby的结果后,我正在为每个结果创建一个数组数组,以便将列的标题放在一边,这样我得到这样的结果 [[TIME:2015-2-01 12:00:00] [CPU:50][IO:40]] [[TIME:2015-2-01 12:15:00] [CPU:99][IO:40]] etc… 我的问题是,一旦我将其返回到我在Rails中的视图,我想在Flot中绘制每个系列。 (与cpu的时间,与io的时间,与其他点的时间) flot期望它的数据系列像[[time,value],[time,value]]。 因此,我需要弄清楚如何遍历我的多维数组并创建单独的数组,每个数组包含特定指标的时间和值。 非常感谢任何见解。 另外,据我所知,flot预期的时间值与我指定的时间值不同。 thanks for the response. I can work on putting it in fiddle when I get home. Time is not the issue I know how to convert my time stamp to […]