【问题标题】:Require custom file in Rails' scss manifest file?在 Rails 的 scss 清单文件中需要自定义文件吗?
【发布时间】:2015-08-21 19:51:48
【问题描述】:

是否可以通过使用辅助方法以某种方式要求清单中的 scss 文件?

/*
 *= require_self
 *= require '<%= current_tenant.name %>'
 */

这当前会引发couldn't find file '&lt;%= current_tenant.name %&gt;' 错误。我尝试将application.scss 重命名为application.scss.erb,但还是不行。

【问题讨论】:

  • 好吧,在这种情况下,我猜你的辅助方法必须在初始化程序中定义
  • 我已经这样做了(尝试使用 .erb 文件扩展名)以及 &lt;%= 和字符串插值。在清单中都不起作用。
  • 确保文件名为.css.erb,建议重启一次服务器。

标签: ruby-on-rails ruby ruby-on-rails-4 ruby-on-rails-4.2


【解决方案1】:

这对我有用 在application.css.erb

 *= require dataTables/jquery.dataTables
 *= require "<%= p"dataTables/jquery.dataTables" %>"
 *

我什至尝试过这样的

 *= require dataTables/jquery.dataTables
 *= require "<%= p"dataTables/jquery.dataTables" + (12*12).to_s %>"
 *

我得到的输出是

 *= require_tree ../../../vendor/assets/stylesheets/.
 *= require dataTables/jquery.dataTables
 *= require "dataTables/jquery.dataTables144"
 *

也许你应该这样尝试。您需要用双引号将嵌入的 ruby​​ 代码括起来

/*
 *= require_self
 *= require "<%= current_tenant.name %>"
 */

【讨论】:

  • 在 Rails 4 中不起作用。仍然得到 Sprockets::FileNotFound
  • 错误信息中是否仍然显示&lt;%= .. %&gt;
  • 是的。这是我正在使用的...require "&lt;%= current_tenant.name %&gt;"
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2012-10-20
  • 2014-04-05
  • 2013-05-29
  • 1970-01-01
  • 1970-01-01
  • 2015-07-11
  • 2019-10-08
相关资源
最近更新 更多