ruby-on-rails - 每个 Controller 的 Rails 布局

标签 ruby-on-rails

我有一个家庭 Controller 和一个新闻 Controller 。我希望这两个 Controller 都使用 application.html.erb 布局文件,除此之外,对于主页,使用主页布局和新闻,使用新闻布局。然后渲染一个特定的 View 。这在 rails 中可能吗?

换句话说,我不想为每个 View 指定一个布局,而是为每个 Controller 指定一个布局,两者都继承自 application.html.erb 布局。

我想要做的是删除添加顶部导航栏并在每个布局文件中包含 javascript/css 的冗余。我宁愿将其包含在一个文件中,并使用另一种布局进行 Controller 特定布局,然后最终呈现 View 。

谢谢

最佳答案

您可以告诉 Controller 使用特定的布局,例如

class HomeController < ApplicationController
  layout 'home'
end

class NewsController < ApplicationController
  layout 'news'
end

这些将期望 app/views/layouts/home.html.erb 等中的布局

关于ruby-on-rails - 每个 Controller 的 Rails 布局,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11302954/

相关文章:

ruby-on-rails - ActionCable 未接收数据

ruby-on-rails - Rails 中关联的别名方法

ruby-on-rails - Rails (4.2.0) 服务器对浏览器请求无响应

ruby-on-rails - header 部分中的ransack搜索表单:没有将Ransack::Search对象提供给search_form_for

ruby-on-rails - rake db :migrate produces "rake aborted! could not find table" error

css - Ruby on Rails 导入 Bootstrap 未找到

html - Rails 教程 4.1 Bootstrap CCS 无法正确呈现

sql - 有效地找到 "record high"值

ruby-on-rails - 使用 AWS Opsworks 设置环境变量

javascript - Uncaught ReferenceError : Stripe is not defined - STRIPE ERROR