我对应该放置公共文件的文件夹有些怀疑 我们在根路径上找到了一个名为 public 的文件夹以及 app 中的一些其他文件夹(对我来说是rails 5.0.1),让我告诉你那些对我来说很奇怪的文件夹:
在阅读了多个教程和现有公共项目之后,我看到有些人将他的网页模板放在公开( js,css和图像包含)中。 然而,在我的情况下,因为我已经看过几次而且发现它是逻辑的,我把我的模板放在 assets 中分隔我的js,sass(在我的情况下)文件和图像中已经由RoR生成器创建的文件夹。
另外,我将文件放在资产中似乎是合乎逻辑的,因为我的主要布局会将我的模板文件放在带有框架默认API的资产中。以下行适用于我,并将加载我的 app / assets / stylesheets / app.css.scss 文件
<%= stylesheet_link_tag 'app', media: 'all', 'data-turbolinks-track': 'reload' %>
希望有人可以解释什么是更好的方式,我是Rails的初学者,谢谢。
答案 0 :(得分:1)
app / assets /
这是您放置自定义资产(您拥有的图像,js / css脚本以及自定义应用程序)的地方
vendor / assets /
这适用于您在应用中使用的第三方库(carousel js插件等)
.
├── app
│ ├── assets (custom assets specific to your app)
├── public (static-files like error pages, favicon, etc which does not change much)
├── vendor
│ └── assets (third party libraries that your app uses)
预编译资产
在config/initializers/assets.rb
中的资产预先指定路径中添加应用程序中使用的资源(图像,js / css文件)的所有路径(默认情况下包含application.css和application.js)
预编译
时的所有资产bundle exec rails assets:precompile
这将生成 public / assets 目录,其中预编译路径中配置的所有资产都可以作为易于维护的静态资产,然后提供给您的应用程序响应。