Ruby on Rails layout

预设版型?
前⾯提到说预设的版型是 app/views/layouts/application.html.erb ,这句话
其实不完全正确。真正的预设版型应该是「跟 Controller 同名」的版型。
举例来说,有个 Controller 叫做 CandidatesController ,它的版型档案会先到
app/views/layouts/ ⽬录下找 candidates.html.erb 档案,如果找不到才换
找 application.html.erb 。
只能⼀个 yield 吗?
这个 yield 就是⽤来填空的「坑」,不⼀定只有⼀个,想要的话也可以有很多
个,⽽且还可以帮这些坑标记名字:

<!DOCTYPE html>
<html>
<head>
<title><%= yield :my_title %></title>
<%= csrf_meta_tags %>
<%= stylesheet_link_tag 'application', media: 'all', 'data-tu
rbolinks-track': 'reload' %>
<%= javascript_include_tag 'application', 'data-turbolinks-tr
ack': 'reload' %>
</head>
<body>
<div class="container">
<%= yield %>
</div>
</body>
</html>
:my_title %> ,意思就是把这个坑标记成 my_title 。要填这个指定名字的坑

有两种做法:
使⽤ provide
你可以使⽤ provide ⽅法,指定要帮 my_title 提供资料:

<% provide :my_title, "你好,我是 Title" %>
<h1>候选⼈列表</h1>
15 Layout,Render 与 View Helper
228
<%= link_to "新增候选⼈", new_candidate_path %>
<table class="table">
<thead>
<tr>
<td>投票</td>
<td>候选⼈姓名</td>
...[略]...
使⽤ content_for
或是使⽤ content_for 来填坑:
<% content_for :my_title do %>
你好,我是 Title
<% end %>
<h1>候选⼈列表</h1>
<%= link_to "新增候选⼈", new_candidate_path %>
<table class="table">
<thead>
<tr>
<td>投票</td>
<td>候选⼈姓名</td>
...[略]..

参考资料

[为你自己学Ruby on Rails]https://railsbook.tw/chapters/08-ruby-basic-4.html


<<:  Day11 - Gem-rqrcode 或 barby 产 QR Code

>>:  DAY9-EXCEL统计分析:常用的统计量

从 JavaScript 角度学 Python(7) - 条件与回圈

前言 接下来是聊条件与回圈的部分,毕竟写程序这两个东西非常常使用到。 条件控制 条件控制的语法又可以...

不只懂 Vue 语法:如何透过路由实现跨页面传递资料?

问题回答 在跳转页面时,可以透过路由物件里 params 或 query 来传递资料,也可以使用各种...

D05 / 为什麽不会填错资料? - Inline class, Scope  & DSL design in compose

今天大概会聊到的范围 slot api modifier scope inline classes...

Day 22-state manipulation 之四:让 terraform 遗忘过去的 state rm

透过 state mv,应该对於 terraform state manipulation 有更透彻...

JS Library 学习笔记:Three.js 初见面,在2D画面创造三维世界 (五)

渲染回圈建立动画效果 之前利用PixiJS建立动画时,运用PIXI.Ticker设定运算逻辑,定时变...