mercredi 30 décembre 2015

Как корректно получить данные Ruby on Rails для Chertkick?

Есть модели:

uk.rb

class Uk < ActiveRecord::Base
    has_many :oplata
end

oplata.rb

class Oplata < ActiveRecord::Base
    belongs_to :finperod
    belongs_to :uks
end

И миграции:

class CreateUks < ActiveRecord::Migration
  def change
    create_table :uks do |t|
      t.integer :uk_id
      t.string :meaning

      t.timestamps
    end
  end
end


class CreateOplata < ActiveRecord::Migration
  def change
    create_table :oplata do |t|
      t.integer :finp_id
      t.integer :np_id
      t.integer :uk_id
      t.integer :saldo
      t.integer :oplata

      t.timestamps
    end
  end
end

*htm.erb Для Chartkick пишу

<%= pie_chart Oplata.sum(:oplata, :group => "uk_id")%>

Получаю график из хэша:

  new Chartkick.PieChart("chart-1", {"100":448616,"102":224308,"101":112154}, {});

Как я могу заменить ключи в этом хэши на значения MEANING из таблицы UKs?

Пробовал использовать

 <%= pie_chart Uk.find_by_sql("SELECT uks.MEANING, SUM(OPLATA) FROM oplata o, uks WHERE o.UK_ID = uks.UK_ID GROUP BY uks.MEANING")

График не отображается, так как передаются следующие данные:

  new Chartkick.PieChart("chart-1", [{"meaning":"Имя 1","sum(oplata)":448616,"id":null},{"meaning":"Имя 2","sum(oplata)":112154,"id":null},{"meaning":"Имя 3","sum(oplata)":224308,"id":null}], {});

Aucun commentaire:

Enregistrer un commentaire