Rails - 如何在application.js中要求之前检查js文件是否存在?

时间:2016-03-15 04:29:38

标签: ruby-on-rails rubygems

我分叉了plutus gem(https://github.com/mbulat/plutus),它需要jquery.ui.datepicker。 rails-jquery-ui gem 5.0将文件夹名称更改为jquery-ui(之前的jquery.ui)。因此,这会为我的应用程序返回一个Sprockets :: FileNotFound,它取决于rails-jquery-ui 5.0。

如何在plutus application.js中有条件地包含jquery.ui.datepicker或jquery-ui / datepicker,以便宝石可供任何宝石版本的人使用。

我的方法是否正确或有更好的方法吗?

1 个答案:

答案 0 :(得分:0)

您可以将application.js重命名为application.js.erb并在其中包含任何ruby条件。

将其重命名为application.js.erb后,您可以编写如下内容:

<% if Jquery::Ui::Rails::VERSION >= '5.0' %>
  //= require jquery-ui/datepicker
<% else %>
  //= require jquery.ui.datepicker
<% end %>

我没有检查实际的文件名或文件夹结构。上面的代码只是一个伪代码,根据您的需要/要求进行调整。