Emerson
98 posts
|
Moçada, é o seguinte..
Tenho uma folha de calendário, um método que retorna apenas as quartas-feiras do mes corrente, e para cada quarta, 3 horários para atendimento..
Quando todos os horários estiverem ocupados, automaticamente o mês deve ser incrementado e uma nova folhinha é mostrada.
Foi simples fazer a primeira incrementação de Julho para Agosto, mas, de Agosto para Setembro está difícil.
Sei que preciso de uma variável Global que guarde o estado atual do mes que está sendo mostrado na folhinha(esse mês não é, necessariamente, o mes corrente)
Helper:
View linha do erro Argumente out of range:
Mais uma vez agradeço!
|
|
|
chiquitao
155 posts
|
Cara não entendi muito bem seu metodo… mas se vc quiser um Array com todos os dias das quartas feiras de um mês, fiz esse metodo aqui…
def busca_quartas(date)
init_month = date.beginning_of_month
wednesdaies = []
first_wednesday = init_month.beginning_of_week.advance(:days => 2)
wednesdaies << first_wednesday if first_wednesday.month == init_month.month
week = init_month
while week.next_week(:wednesday).month == init_month.month
wednesdaies << week.next_week(:wednesday)
week = week.next_week
end
wednesdaies
end
Ele recebe uma data como parametro (Ex: Time.now)
e te retorna um array de datas sendo q todas elas são as quartas feiras do mes da data passada…
Vê aí se ajuda…
Abraç
|
|
|
Mereghost
1476 posts
|
Ou pega todas as quartas até o final do ano que vem.
Passa o vetor e modifica o calendar com js.
|
|
|
chiquitao
155 posts
|
Esse Ficou firmeeeza ein! =)
|
|
|
Emerson
98 posts
|
Eu só posso modificar o calendário depois que todas as datas já foram preenchidas.
O método que busca as quartas esta funfando e busca só do mes corrente, pq eu preciso verificar se existem datas que foram canceladas(datas canceladas serão disponibilizadas para novo agendamento)
Entendam que, devido a grande demanda de agendamentos, a folhinha que aparecerá nunca será do mês corrente, (exceto se houver datas canceladas), ou seja:
Algoritimo:
1- A folhinha que aparece é do mes atual(Agosto);
2- Grande demanda de agendamentos faz com que o mes de Agosto fique lotado, e automaticamente, a folhinha de Setembro aparecerá;
3- Grande demanda de agendamentos provoca preenchimento total do mes de Setembro e a folhinha de Outubro aparecerá;
4- Ainda estamos no mês de Agosto, mas a folhinha já está em Outubro, se houverem desistências em Setembro a folhinha de Setembro é mostrada.
EU já consegui fazer com que a folhinha pule do mes atual para o seguinte e que retorne ao mes atual caso exista uma vaga(desistência), MAS, não consigo fazê-lo para 2 meses a frente do mes atual. =/
|
|
|
chiquitao
155 posts
|
Agora entendi o que vc quis dizer… mas tá difícil de entender seu código,
Em que linha está dando o erro?
Pelo nome do erro vc esta acessando está acontecendo algo nos limites de algum desses seus loops que dependendo do mês, e seu numero de dias, deve estar indo fora do range…
Por Ex: fevereiro tem 28 ou 29 dias,
eu chutaria esse while
while quartas <= 31 do
dias << quartas
quartas = quartas+7
end
como um forte candidato a fazer algo fora de um range…
Mas mostra aí pra gente onde da o erro exatamente…
Abraç
|
|
|
Emerson
98 posts
|
Linha do erro: Argument out of range
busca_quarta:
busca_mes_num:
View:
|
|
|
Mereghost
1476 posts
|
Hmmm… sinto cheiro de necessidade de refactor, mas fica aqui uma idéia rápida de como resolver seu problema.
|