对不起,我正在编写我的第一个Rails应用程序时,这个问题有点令人讨厌。

我有布局 View 的想法,但是如果您使用它们,是否有任何方法可以包括 View 特定的js或css文件?例如,我有layouts/products.html.erb,对于products/edit.html.erb我想要products_edit.css,但是我不希望所有产品 View 都使用该CSS,那么最佳实践是什么?

最佳答案

如果您有一个通用的edit.css文件,建议您在布局中添加一个if

<%= stylesheet_link_tag 'edit' if params[:action] == 'edit' %>

否则,您可以将 content_for yield一起使用,以将其他标签添加到头部。
layout.html.erb
<head>
  ...
  <%= yield(:header) if @content_for_header %>
</head>
products/edit.html.erb
<% content_for :header do -%>
  <%= stylesheet_link_tag 'edit_product' %>
<% end -%>

关于ruby-on-rails - 如何在版面之外的erb中包含CSS或JavaScript?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/480288/

10-13 05:28