如何编写 .html.erb javascript 函数来隐藏特定页面的标题?



如何编写.html.erbjavascript函数来隐藏特定页面的标题?

如果您已经在Ruby on Rails中使用.erb并且能够在服务器端执行此操作,我建议不要使用JavaScript。

这样你就不会有任何"闪烁的UI"问题,因为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

这两者的组合将导致一个标题在周六和周日出现在网站上,另一个出现在工作日。

最新更新