相対タイムスタンプを追加します。
「GemFile」に以下の記述を追加します。
記述追加 GemFIle(99行目)
gem 'rails-timeago', '~> 2.0'
GemFile
source 'https://rubygems.org' git_source(:github) do |repo_name| repo_name = "#{repo_name}/#{repo_name}" unless repo_name.include?("/") "https://github.com/#{repo_name}.git" end # Bundle edge Rails instead: gem 'rails', github: 'rails/rails' gem 'rails', '~> 5.0.7', '>= 5.0.7.1' # Use postgresql as the database for Active Record gem 'pg', '>= 0.18', '< 2.0' # Use Puma as the app server gem 'puma', '~> 3.0' # Use SCSS for stylesheets gem 'sass-rails', '~> 5.0' # Use Uglifier as compressor for JavaScript assets gem 'uglifier', '>= 1.3.0' # Use CoffeeScript for .coffee assets and views gem 'coffee-rails', '~> 4.2' # See https://github.com/rails/execjs#readme for more supported runtimes # gem 'therubyracer', platforms: :ruby # Use jquery as the JavaScript library gem 'jquery-rails' # Turbolinks makes navigating your web application faster. Read more: https://github.com/turbolinks/turbolinks gem 'turbolinks', '~> 5' # Build JSON APIs with ease. Read more: https://github.com/rails/jbuilder gem 'jbuilder', '~> 2.5' # Use Redis adapter to run Action Cable in production # gem 'redis', '~> 3.0' # Use ActiveModel has_secure_password # gem 'bcrypt', '~> 3.1.7' # Use Capistrano for deployment # gem 'capistrano-rails', group: :development group :development, :test do # Call 'byebug' anywhere in the code to stop execution and get a debugger console gem 'byebug', platform: :mri end group :development do # Access an IRB console on exception pages or by using <%= console %> anywhere in the code. gem 'web-console', '>= 3.3.0' gem 'listen', '~> 3.0.5' # Spring speeds up development by keeping your application running in the background. Read more: https://github.com/rails/spring gem 'spring' gem 'spring-watcher-listen', '~> 2.0.0' end # Windows does not include zoneinfo files, so bundle the tzinfo-data gem gem 'tzinfo-data', platforms: [:mingw, :mswin, :x64_mingw, :jruby] # bulma gem 'bulma-rails', '~> 0.7.4' gem 'bulma-extensions-rails', '~> 1.0.30' # デバイス gem 'devise', '~>4.2' # アバター gem 'gravtastic' # toastr gem 'toastr-rails', '~> 1.0' # 日本語化 gem 'rails-i18n' # google認証 gem 'omniauth' gem 'omniauth-google-oauth2' # 管理ダッシュボード gem 'activeadmin' # 管理ダッシュボードのテーマ gem 'active_skin' #画像アップロード gem 'paperclip', '~> 5.1.0' # アマゾンS3 gem 'aws-sdk', '~> 2.8' # タスクの順番を変える gem "active_admin-sortable_tree", "~> 2.0.0" # Markdown関数 gem 'redcarpet', '~> 3.2.3' gem 'coderay', '~> 1.1.0' # Stripe決済 gem 'stripe', '~> 3.0.0' gem 'rails-assets-card', source: 'https://rails-assets.org' #タイムスタンプ gem 'rails-timeago', '~> 2.0'
コマンド
bundle
「app\assets\javascripts\application.js」ファイルに以下の記述を追加します。
記述追加 app\assets\javascripts\application.js(18行目)
//= require rails-timeago
app\assets\javascripts\application.js
// This is a manifest file that'll be compiled into application.js, which will include all the files // listed below. // // Any JavaScript/Coffee file within this directory, lib/assets/javascripts, vendor/assets/javascripts, // or any plugin's vendor/assets/javascripts directory can be referenced here using a relative path. // // It's not advisable to add code directly here, but if you do, it'll appear at the bottom of the // compiled file. JavaScript code in this file should be added after the last require_* statement. // // Read Sprockets README (https://github.com/rails/sprockets#sprockets-directives) for details // about supported directives. // //= require jquery //= require jquery_ujs //= require toastr //= require gravtastic //= require card //= require rails-timeago //= require turbolinks //= require_tree .
「app\views\reviews\_index.html.erb」ファイルの16行目の記述を以下の記述に置き換えます。
記述置き換え app\views\reviews\_index.html.erb(16行目)
<span class="right"><%= time_ago_in_words r.created_at, :nojs => true, :limit => 10.days.ago %></span>
app\views\reviews\_index.html.erb
<% if @reviews.blank? %> <span class="center"><h4>まだレビューはありません。</h4></span> <% end %> <% @reviews.order("id desc").each do |r| %> <hr> <div class="row"> <div class="col m1"> <figure class="image is-32x32"> <%= image_tag r.user.gravatar_url, class: "is-rounded" %><br/> </figure> </div> <div class="col m10"> <div> <strong><%= r.user.full_name %></strong> <span class="right"><%= time_ago_in_words r.created_at, :nojs => true, :limit => 10.days.ago %></span> </div> <div id="stars_<%= r.id %>"></div> <div><%= r.comment %></div> <br/> <div> <%= link_to "削除", [@project, r], class: "button is-danger", method: :delete, data: {confirm: "本当によろしいですか?"} if current_user && current_user.id == r.user.id %> </div> </div> </div> <script> $('#stars_<%= r.id %>').raty({ path: '/assets', readOnly: true, score: <%= r.star %> }); </script> <% end %>
日本語化します。
「config\locales\ja.yml」ファイルに以下の記述を追加します。
記述追加 config\locales\ja.yml(14行目)
datetime: distance_in_words: half_a_minute: "30秒前後前" less_than_x_seconds: one: "1秒前" other: "%{count}秒前" x_seconds: one: "1秒" other: "%{count}秒前" less_than_x_minutes: one: "1分" other: "%{count}分前" x_minutes: one: "約1分前" other: "%{count}分前" about_x_hours: one: "約1時間前" other: "約%{count}時間前" x_days: one: "1日前" other: "%{count}日前" about_x_months: one: "約1ヶ月前" other: "約%{count}ヶ月前" x_months: one: "1ヶ月前" other: "%{count}ヶ月前" almost_x_years: one: "1年弱前" other: "%{count}年弱前" about_x_years: one: "約1年前" other: "約%{count}年前" over_x_years: one: "1年以上前" other: "%{count}年以上前"
config\locales\ja.yml
ja: activerecord: attributes: user: full_name: 氏名 current_password: パスワード password: パスワード email: メールアドレス time: formats: full_date: "%Y年%m月%d日 (%a)" datetime: distance_in_words: half_a_minute: "30秒前後前" less_than_x_seconds: one: "1秒前" other: "%{count}秒前" x_seconds: one: "1秒" other: "%{count}秒前" less_than_x_minutes: one: "1分" other: "%{count}分前" x_minutes: one: "約1分前" other: "%{count}分前" about_x_hours: one: "約1時間前" other: "約%{count}時間前" x_days: one: "1日前" other: "%{count}日前" about_x_months: one: "約1ヶ月前" other: "約%{count}ヶ月前" x_months: one: "1ヶ月前" other: "%{count}ヶ月前" almost_x_years: one: "1年弱前" other: "%{count}年弱前" about_x_years: one: "約1年前" other: "約%{count}年前" over_x_years: one: "1年以上前" other: "%{count}年以上前"
ブラウザ確認
http://localhost:3000/project/1
タイムスタンプが表示されるようになりました。