如何使用 ruby 上 ruby 上 rails 上的小 class

How to use my little class from ruby on ruby on rails

我在 ruby 上写了一篇 class,我想在 ruby 上 rails 上使用她,用于在每个页面上显示日期和几个小时的法语,如何做好,她对每个观点都有意见?如果可能的话,整个过程?非常感谢, 这是她..

# Petite classe pour récupérer le jour et l'heure en Français
class JourFrancais

    def initialize()
        self.jourj
    end
    def jourj
        jours_ouvrables = {Lundi: 'monday', Mardi: 'tuesday', Mercredi: 'wednesday', Jeudi: 'thursday', Vendredi: 'friday', Samedi: 'saturday', Dimanche: 'sunday'}


        jours_ouvrables.each do |key, value|
            if Time.now.strftime("%A").downcase == value
            puts "Nous sommes le #{key} " + Time.now.strftime("%d/%m/%Y") + " et il est " + Time.now.strftime("%H:%M")

            end
        end
    end 
end

感谢您的帮助..

您可以将 class 添加到应用的 lib 目录中。

然后在 application.rb 中包含该目录

config.autoload_paths << "#{Rails.root}/lib"

您的图书馆

这是对您的 class 的一个小重构:

# Petite classe pour récupérer le jour et l'heure en Français
class JourFrancais
  JOURS = {"Monday"=>"Lundi", "Tuesday"=>"Mardi", "Wednesday"=>"Mercredi", "Thursday"=>"Jeudi", "Friday"=>"Vendredi", "Saturday"=>"Samedi", "Sunday"=>"Dimanche"}

  def self.jourj(time = Time.now)
    jour = JOURS[time.strftime('%A')]
    "Nous sommes le #{jour} " + time.strftime("%d/%m/%Y et il est %H:%M.")
  end
end 

puts JourFrancais.jourj
# "Nous sommes le Dimanche 17/03/2019 et il est 21:14."
puts JourFrancais.jourj(Time.local(2017, 3, 1, 12, 35))
# "Nous sommes le Mercredi 01/03/2017 et il est 12:35."

无需循环,该方法现在 returns 一个字符串而不是仅仅显示它并且您可以指定时间。

使用 Rails i18n

在 Rails 中,您可以将 fr.yml 下载到 config/locales/ 并将 config.i18n.default_locale = :fr 添加到您的 config/application.rb

您不再需要您的图书馆了!

I18n.l Time.now, format: :long
# => "dimanche 17 mars 2019 21h23"