【发布时间】:2014-09-18 20:46:14
【问题描述】:
我想为网站的管理和公共部分设置一对样式指南。
每个都需要自己的布局,其中包含静态 html 和对 erb 部分调用的混合(因此静态页面不会削减它)。我不需要控制器来为这些页面提供服务,而且我不希望有效地仅用于开发的内容使其余代码混乱。这让我想知道是否有办法直接渲染布局。
免责声明:我明白这不是我应该经常/永远做的事情,我知道有很多论据说明为什么这是一个坏主意。我对这是否可能感兴趣。
有没有办法让我直接从 routes.rb 渲染布局而不通过控制器?
【问题讨论】:
-
@jvnill 我的组件样式部分都是通过本地配置的,所以我可以将虚拟数据传递给它们。他们不使用控制器变量。大部分布局是静态的。
-
抱歉,删除了我的评论,因为我认为您删除了问题中的 erb 部分。在任何情况下,路由只是将 url 与控制器操作匹配的一种方式。我不确定我是否理解为什么不需要控制器。即使你在渲染局部变量时使用局部变量,你从哪里调用
render? -
@jvnill 这就是我的问题的重点。我对是否有一种无需控制器即可渲染它的方法感兴趣。也许答案是不可能,但我对它是否是感兴趣。
-
是的,我认为没有。这不仅仅是关于布局。如果内容不是静态的,则必须通过控制器或使用@Зелёный 的答案并使用 ERB 绑定,但这基本上是控制器所做的。
-
在没有对应控制器的情况下发出请求会得到一个未初始化的常量错误。
标签: ruby-on-rails ruby layout ruby-on-rails-4 routing