Representação gráfica de novos usuários por data em um aplicativo de Rails usando Seer

StackOverflow https://stackoverflow.com/questions/2440957

  •  19-09-2019
  •  | 
  •  

Pergunta

Eu gostaria de implementar um gráfico de rolamento mostrando novos usuários por dia nos últimos 7 dias, utilizando Seer.

Eu tenho Seer instalado:

http://www.idolhands.com/ruby-on-rails/gems-plugins-and-engines/graphing-for-ruby-on-rails-with-seer

Eu estou lutando para obter o meu cérebro em torno de como implementar.

Eu tenho uma matriz dos Usuários eu quero parcela:

= @users User.all (: condições => {: created_at => 7.days.ago..Time.zone.now})

Não é possível ver o caminho certo para implementar a:. Data_method para enrolá-las por data created_at

Qualquer um feito isso ou similar com Seer?

Qualquer um mais esperto do que me capaz de explicar isso depois de olhar para a página de exemplo Seer (ligada acima)?

Foi útil?

Solução

Eu estou supondo que você está tentando mostrar a nova contagem de usuários por dia nos últimos 7 dias. Se assim você pode fazer o seguinte

Código de Controlador

# declare a struct to hold the results
UserCountByDate = Struct.new(:date, :count) 

def report
  @user_counts = User.count( :group => "DATE(created_at)", 
                   :conditions => ["created_at >= ? ", 7.days.ago], 
                   :order => "DATE(created_at) ASC"
                 ).collect do |date, count| 
                   UserCountByDate.new(date, count)
                 end

end

código Ver

<div id="chart"></div>

<%= Seer::visualize(
      @user_counts, 
      :as => :column_chart,
      :in_element =>'chart', 
      :series => {
        :series_label => 'date',
        :data_method => 'count'
      },
      :chart_options => {
        :height => 300,
        :width => 100 * @user_counts.size,
        :is_3_d => true,
        :legend => 'none',
        :colors => "[{color:'#990000', darker:'#660000'}]",
        :title => "New users in last 7 days",
        :title_x => 'date',
        :title_y => 'count'
      }
    )
 -%>

O data_method deve estar presente em cada linha da matriz usada como a entrada para o gráfico. O método ActiveRecord count retorna um hash, o qual é convertido para uma matriz de struct que responde a métodos date e count.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top