Прежде всего, вам понадобится контроллер. Вы можете создать его на app/controllers/greetings_controller.rb
Содержимое этого контроллера будет примерно таким:
class GreetingsController < ApplicationController
def greet
now = Time.now
today = Date.today.to_time
morning = today.beginning_of_day
noon = today.noon
evening = today.change( hour: 17 )
night = today.change( hour: 20 )
tomorrow = today.tomorrow
if (morning..noon).cover? now
'Good Morning'
elsif (noon..evening).cover? now
'Good Afternoon'
elsif (evening..night).cover? now
'Good Evening'
elsif (night..tomorrow).cover? now
'Good Evening'
end
end
end
Теперь у вас есть контроллер. Следующее, что вы хотите сделать, это прикрепить к нему маршрут. Откройте файл config/routes.rb
.
Добавить это к файлу:
get '/greet', to: 'greetings#greet'
Единственное, что вам нужно изменить, это ваш #greet
ответ. Он должен вызвать метод format.json { render json: "Content" }
, чтобы он работал.
Измените его на:
if (morning..noon).cover? now
format.json { render json: 'Good Morning' }
elsif (noon..evening).cover? now
format.json { render json: 'Good Afternoon' }
elsif (evening..night).cover? now
format.json { render json: 'Good Evening' }
elsif (night..tomorrow).cover? now
format.json { render json: 'Good Evening' }
end
Запустите rails server
в своем терминале и откройте браузер. Маршрут /greet.json
должен работать.