带控制器条件的 Rails 布局渲染
我不知道最好的方法是什么。
在我的 application.html.erb 上,我定义了一个 header div。
我的默认控制器( root )是主页控制器。 我希望,如果我位于主页的索引处,标题会呈现一些内容,但所有其他控制器都会在该标题内呈现另一个内容。
如何在该标头 div 中设置一个条件,以根据正在呈现的控制器呈现不同的内容?
I don't know what's the best way to doing this.
On my application.html.erb I define a header div.
My default controller ( root ) is a homepage controller.
And I wish that if I'm at index of the homepage the header is rendering with some content, but all other controllers render another content inside that header.
How can I make a condition in that header div to render different content based on the controller that's being rendered?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您可以使用
content_for
帮助器在从应用程序布局生成的各个视图模板中定义标记块。application.html.erb:
然后在控制器视图模板中的任何位置包含这样的代码:
请注意,您可以根据需要定义任意数量的这些块,因此您也可以拥有条件侧边栏等。
You can use the
content_for
helper to define a block of markup in individual view templates that's yielded to from the application layout.application.html.erb:
Then include code like this anywhere within a controller's view template:
Note that you can define as many of these blocks as you like, so you could have a conditional sidebar etc. as well.