如何在 Rails 应用程序的 Ruby 中使用 Javascript 获取 CSS 文件的内容?

How to fetch content of CSS file with Javascript in a Ruby on Rails application?

我需要在 Rails 应用程序的 Ruby 中使用 JavaScript 获取 CSS 文件的内容,但似乎我发出的每个请求都试图发出一个请求页面而不是获取特定文件。

我不确定 AJAX 请求在 Rails 上使用 Ruby 时如何工作,我的搜索也没有真正回答这个问题。

这是我提出请求的方式(使用 jQuery 的 $.ajax):

$.ajax({
    url: './assets/stylesheets/application.css.scss.erb',
    success: function(data) {
        console.log(data);
    }
});

但这只是吐出这个错误:

GET http://localhost:3000/assets/stylesheets/application.css.scss.erb 404 (Not Found)

这是有道理的,因为我没有那种路线,但是我需要添加什么才能获得特定文件的内容而不是路线的内容?

您可能想了解资产管道的工作原理,我建议阅读 Asset Pipeline

但在您的情况下,css 文件位于:

http://localhost:3000/assets/application.css

并且该文件包含该文件中预编译的所有 css,这意味着如果您的 application.css 文件类似于:

/*
 *= require datepicker
 *= require responsive
 *= require themes
 *= require_self
 */

这意味着应用程序 css 文件将包含其中的所有这些文件内容。

总之,关于你的问题,你可以试试:

$.ajax({
    url: './assets/application.css',
    success: function(data) {
        console.log(data);
    }
});