Rails 生成一个新的布局文件
Rails generate a new layout file
我对 Rails
布局感到困惑。我有 home
和 video
页面,我想相对地包含它们的 css
和 js
。
因此,在我用scaffold
创建了video
之后,我又创建了video.css
和video.js
。
此外,我在view/layouts/video_layout.html.erb中创建了一个文件,并将以下代码放入其中。
<!DOCTYPE html>
<html>
<head>
<title>Video</title>
<%= csrf_meta_tags %>
<%= stylesheet_link_tag 'video', media: 'all', 'data-turbolinks-track': 'reload' %>
<%= javascript_include_tag 'video', 'data-turbolinks-track': 'reload' %>
</head>
<body>
VIDEO BEGIN
<%= yield %>
VIDEO END
</body>
</html>
我以为它只会包括 video.css
和 video.js
。但是,当我访问 localhost:3000/videos 时,视频页面仍处于原始状态(没有 VIDEO BEGIN
和 VIDEO END
)
将以下行添加到 app/controllers/videos_controller.rb
layout "video_layout"
例如
class VideosController < ApplicationController
layout "video_layout"
def index
end
....
end
还要检查这个 http://api.rubyonrails.org/classes/ActionView/Layouts.html
我对 Rails
布局感到困惑。我有 home
和 video
页面,我想相对地包含它们的 css
和 js
。
因此,在我用scaffold
创建了video
之后,我又创建了video.css
和video.js
。
此外,我在view/layouts/video_layout.html.erb中创建了一个文件,并将以下代码放入其中。
<!DOCTYPE html>
<html>
<head>
<title>Video</title>
<%= csrf_meta_tags %>
<%= stylesheet_link_tag 'video', media: 'all', 'data-turbolinks-track': 'reload' %>
<%= javascript_include_tag 'video', 'data-turbolinks-track': 'reload' %>
</head>
<body>
VIDEO BEGIN
<%= yield %>
VIDEO END
</body>
</html>
我以为它只会包括 video.css
和 video.js
。但是,当我访问 localhost:3000/videos 时,视频页面仍处于原始状态(没有 VIDEO BEGIN
和 VIDEO END
)
将以下行添加到 app/controllers/videos_controller.rb
layout "video_layout"
例如
class VideosController < ApplicationController
layout "video_layout"
def index
end
....
end
还要检查这个 http://api.rubyonrails.org/classes/ActionView/Layouts.html