Я не советую использовать JavaScript для этого, если вы уже используете .erb
и способны сделать это на стороне сервера, в Ruby на Rails.
Таким образом, у вас не будет никаких " проблемы с мигающим пользовательским интерфейсом, поскольку код JS выполняется после рендеринга HTML.
Давайте посмотрим.
app / views / layouts / application. html .erb
<!DOCTYPE html>
<html>
<head>
<title>Title</title>
<%= csrf_meta_tags %>
<%= csp_meta_tag %>
<%= stylesheet_link_tag 'application', media: 'all', 'data-turbolinks-track': 'reload' %>
<%= javascript_pack_tag 'application', 'data-turbolinks-track': 'reload' %>
</head>
<body>
<% if weekend? %>
<header>It's the weekend, let's party!</header>
<% else %>
<header>9 to 5 again.</header>
<% end %>
<%= yield %>
</body>
</html>
Теперь, например, в app / helpers / application_helper.rb вы можете определить следующее:
module ApplicationHelper
def weekend?
today.saturday? || today.sunday?
end
private
def today
@today ||= Date.today
end
end
Комбинация этих двух в результате один заголовок появится на веб-сайте по субботам и воскресеньям, а другой - в рабочие дни.