Ruby on rails文件设置

时间:2017-02-04 02:24:40

标签: ruby-on-rails templates web ruby-on-rails-5

我对应该放置公共文件的文件夹有些怀疑 我们在根路径上找到了一个名为 public 的文件夹以及 app 中的一些其他文件夹(对我来说是rails 5.0.1),让我告诉你那些对我来说很奇怪的文件夹:

  • app / assets /(images | javascripts | stylesheets)
  • 应用/视图/网页

在阅读了多个教程和现有公共项目之后,我看到有些人将他的网页模板放在公开 js,css和图像包含)中。 然而,在我的情况下,因为我已经看过几次而且发现它是逻辑的,我把我的模板放在 assets 中分隔我的js,sass(在我的情况下)文件和图像中已经由RoR生成器创建的文件夹。

另外,我将文件放在资产中似乎是合乎逻辑的,因为我的主要布局会将我的模板文件放在带有框架默认API的资产中。以下行适用于我,并将加载我的 app / assets / stylesheets / app.css.scss 文件

<%= stylesheet_link_tag    'app', media: 'all', 'data-turbolinks-track': 'reload' %>

希望有人可以解释什么是更好的方式,我是Rails的初学者,谢谢。

1 个答案:

答案 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 目录,其中预编译路径中配置的所有资产都可以作为易于维护的静态资产,然后提供给您的应用程序响应。