No projeto que estou desenvolvendo, preciso exibir um select com os dias da semana. Como o Rails não tem nada parecido (pelo menos não achei), estendi o helper DateTime adicionando um novo método chamado select_weekday. Para utilizá-lo basta adicionar o código abaixo no seu arquivo "environment.rb".

module ActionView
  module Helpers
    module DateHelper
      def select_weekday(date, options = {})
        week_options = []       
        date = Date.today if date.nil?
        date_holder = Date.today.cwday.day.ago
 
        0.upto(6) do |day|
          week_options << (((date.kind_of?(Fixnum) ? date : date.cwday) == day) ?
          %(<option value="#{day}" selected="selected">#{date_holder.strftime("%A")}</option>\n) :
          %(<option value="#{day}">#{date_holder.strftime("%A")}</option>\n)
          )
          date_holder = date_holder.to_date.next
        end
        select_html(options[:field_name] || 'weekday', week_options, options[:prefix], options[:include_blank], options[:discard_type], options[:disabled])
      end
    end
  end
end

Estou gostando muito da flexibilidade que o Ruby oferece e, por conseguinte, o Ruby on Rails.

Comentários #

Deixe um comentário





Não é aceito código HTML: adicione-o no pastie.org ou paste.milk-it.net e poste apenas o link.

Se este é seu primeiro comentário, ele terá que ser aprovado antes de ser exibido.

jQuery: Dominando o framework

Você quer aprender a usar jQuery de verdade? Então chegou a hora! Neste workshop você verá como funciona este framework de JavaScript, entendendo todos os aspectos que fazem do jQuery uma das melhores ferramentas para desenvolvimento de interfaces.

Saiba mais Fechar

Conheça também o HOWTO