Rails 生成一个新的布局文件

Rails generate a new layout file

我对 Rails 布局感到困惑。我有 homevideo 页面,我想相对地包含它们的 cssjs

因此,在我用scaffold创建了video之后,我又创建了video.cssvideo.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.cssvideo.js。但是,当我访问 localhost:3000/videos 时,视频页面仍处于原始状态(没有 VIDEO BEGINVIDEO 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