我刚刚创建了一个测试项目并且正在阅读资产管道。到目前为止,资产正在加载但未应用,就好像我转到localhost:3000/assets/application.css
我看到了我写的风格,但我没有看到规则适用于DOM。
Rails版本:4.2.1 Ruby版本:2.2.0
结构如下:
app
--- assets
------ images
------ javascripts
------ stylesheets
------------ application.css
------------ todos.css
application.css
的内容如下:
/*
*= require_tree .
*= require_self
*/
以下application.js
的内容:
//= require jquery
//= require jquery_ujs
//= require turbolinks
//= require_tree .
rails APP非常简单,因为它只是一个模型(todo.rb
),该模型的控制器(todos_controller.rb
)具有以下内容:
class TodosController < ActionController::Base
def index
@todos = Todo.all
end
end
非常简单,对于视图我使用具有以下层次结构的Slim模板:
app
--- views
------ todos
--------- index.slim
application.html.erb
的内容如下:
<!DOCTYPE html>
<html>
<head>
<title>Test</title>
<%= stylesheet_link_tag 'application', media: 'all', 'data-turbolinks-track' => true %>
<%= javascript_include_tag 'application', 'data-turbolinks-track' => true %>
<%= csrf_meta_tags %>
</head>
<body>
<%= yield %>
</body>
</html>
对于观点:
.todos
- @todos.each do |todo|
.title = todo.title
.content = todo.content
我是否缺少资产管道?提前谢谢。
答案 0 :(得分:4)
将index.slim
重命名为index.html.slim
。
P.S。约定优于配置
答案 1 :(得分:2)
TodosController必须从ApplicationController
继承,而不是从ActionController::Base
继承
class TodosController < ApplicationController
def index
@todos = Todo.all
end
end