Как я могу написать. html .erb javascript функцию, чтобы скрыть заголовок от определенных страниц? - PullRequest
1 голос
/ 14 января 2020

Как написать функцию .html.erb javascript, чтобы скрыть заголовок от определенных страниц?

1 Ответ

0 голосов
/ 14 января 2020

Я не советую использовать 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

Комбинация этих двух в результате один заголовок появится на веб-сайте по субботам и воскресеньям, а другой - в рабочие дни.

...