view - lanchester/rails_environment GitHub Wiki

日時のフォーマットを変更する

config/initializers/time_formats.rbに指定(なければファイルを追加)。

Time::DATE_FORMATS[:default] = '%Y/%m/%d %H:%M'
Time::DATE_FORMATS[:datetime] = '%Y/%m/%d %H:%M'
Time::DATE_FORMATS[:date] = '%Y/%m/%d'
Time::DATE_FORMATS[:time] = '%H:%M:%S'
Date::DATE_FORMATS[:default] = '%Y/%m/%d'
> Time.now.to_s
 => "2014/03/03 15:22" 

> Time.now.to_s(:date)
 => "2014/03/03" 

> Time.now.to_s(:datetime)
 => "2014/03/03 15:23" 

> Time.now.to_s(:time)
 => "15:23:07" 

タイムゾーンを指定して時間表示

User.first.created_at.in_time_zone('Tokyo').to_s
#=> "2015-02-02 12:37:05 +0900"
日付の比較について

日付のみを比較する場合は指定した日の0時0分0秒を返すbeginning_of_dayメソッドが使えます。

pry(main)> Time.now
=> 2015-02-05 19:12:20 +0900

pry(main)> Time.now == 5.minutes.from_now
=> false
pry(main)> Time.now.beginning_of_day == 5.minutes.from_now.beginning_of_day
=> true

複数行テキストを改行付きで表示

simple_format(h(text)) # hはhtmlタグのエスケープ(html_escape)

helperから複数行のタグを出力したい場合

helperに分けたメソッドからhtmlタグを出力する時、ネストされていても最後の一行しか出力されません。

module HogehogeHelper
  def hogehoge
    content_tag 'span' do
      image_tag('fugafuga.jpg')
      image_tag('piyopiyo.jpg') # ←これしか出力されない
    end
  end
end

# <span>
#   <img src="/images/piyopiyo.jpg" alt="Piyopiyo">
# </span>

この場合concatを使います。

module HogehogeHelper
  def hogehoge
    content_tag 'span' do
      concat image_tag('fugafuga.jpg')
      concat image_tag('piyopiyo.jpg')
    end
  end
end

# <span>
#   <img src="images/fugafuga.jpg" alt="Fugafuga">
#   <img src="images/piyopiyo.jpg" alt="Piyopiyo">
# </span>
⚠️ **GitHub.com Fallback** ⚠️