我是铁轨上的红宝石新手。我可以知道这些js / scss的目的是什么?每当我创建一个新的控制器时,它也会创建一个.scss文件。这应该放在我的js / css中吗?
我试图在home.scss上放置一些图像背景并尝试在我的视图中将其显示到我的div类但它没有显示
注意:我把它放在assets / images /
中代码
let (<$>) f x = List.map f x
查看
.image_bg{
background-image: image-url('a.jpg')
}
问题:如何显示图像背景?
答案 0 :(得分:1)
您可以在这些文件中添加与模型相关的CSS和JavaScript
您还需要在application.css
和application.js
/*
*= require css_file_name
*/
和
//= require js_file_name
如果您不希望rails创建JavaScript和CSS文件以及每个新控制器或脚手架,请在application.rb中添加它。
config.generators do |g|
g.assets false # js files
g.stylesheets false # scss/sass files
end
答案 1 :(得分:1)
我是铁轨上的红宝石新手。我可以知道这些的目的是什么 JS / SCSS?每当我创建一个新控制器时,它也会创建一个.scss 文件。这是我应该把我的js / css放在哪里吗?
默认情况下,Rails会创建一个css / js文件,以便您按资源组织代码。
如果您查看application.css
和application.js
,请注意评论专线*= require_tree .
。此Sprockets指令告诉Rails资产管道在编译application.css/js
文件时包含同一目录及其子目录中的任何文件。
您的代码无效的原因是您已将其放在错误的文件夹中。 CSS应放在/app/assets/stylesheets
中。
/app/assets/images
文件夹用于为网站设置样式的实际图像。
您可以在运行生成器时使用标志禁用资产生成(如果您愿意):
rails g controller foo --skip-assets
或永久修改config/application.rb
config.generators do |g|
g.stylesheets false
g.javascripts false
# or
g.assets false # disables both JS and stylesheets
end
加。
如果您打算使用SASS,则应将application.css
重命名为application.scss
并删除链轮指令:
*
*= require_tree .
*= require_self
*/
而是使用@import "home"
告诉SASS编译器包含该文件。见https://github.com/rails/sass-rails
答案 2 :(得分:-1)
您必须将这些文件包含在application.scss
/ application.js
文件中。
使用:
@import "home"
这些文件的目的是组织良好的代码库。您可以根据控制器组织资产。