Comment puis-je obtenir le nom du mois dans Ruby on Rails?

donc je crée à mon avis:

 

Comment puis-je obtenir le nom du mois en dehors de la date? J’essayais de faire comme si

   

Mais sans succès. Je continue à recevoir une erreur: constante non initialisée ActionView::Base::ComstackdTemplates::MONTHNAMES

Comment puis-je initialiser la constante ou existe-t-il un autre moyen de retirer le nom du format Date?

apprécierait grandement toutes les réponses!

Ref ce

 <% @date = Date.today %> <%= @date.strftime("%B")%> 

si

 @date >> Fri, 11 Jun 2010 

puis

 @date.strftime("%B") >> "June" 

Si vous recherchez uniquement le nom du mois, la constante Date::MONTHNAMES fournie par rails est la solution la plus simple pour vous:

  Date::MONTHNAMES = [ [ 0] nil, [ 1] "January", [ 2] "February", [ 3] "March", [ 4] "April", [ 5] "May", [ 6] "June", [ 7] "July", [ 8] "August", [ 9] "September", [10] "October", [11] "November", [12] "December" ] 

Si vous voulez un nom de mois localisé, essayez:

 I18n.t('date.month_names')[date.month] 

Exemple:

 I18n.t('date.month_names')[12] #=> "Dezembro" 

Si vous avez un format de date / heure personnalisé que vous devez utiliser à plusieurs resockets, vous pouvez étendre l’assistant de date / heure ActiveSupport.

par exemple si vous définissez ce qui suit dans votre config / environment.rb

 ActiveSupport::CoreExtensions::Time::Conversions::DATE_FORMATS.merge!(:full_english => "%A %B %d, %Y at %I:%M %p") 

alors quand vous appelez Time.now.to_s(:full_english) dans vos vues, vous obtiendrez quelque chose comme:

 "Friday June 11, 2010 at 12:53 PM" 

La méthode strftime de Ruby est bien documentée sur http://apidock.com/ruby/Time/strftime

Choisissez ce que vous voulez

  Date.parse('5-jan-2017').strftime('%B') 

Résultat:

=> “Janvier”

 Date.parse('5-jan-2017').strftime('%b') 

Résultat:

=> “Jan”

Pour la plupart de vos questions relatives à la date ultérieure, référez-vous à ce lien http://www.foragoodstrftime.com/