在 application.erb:
请教下这段是什么意思,yield 会对应到什么文件呢?
就是你 app/view 在输出的时候都要经过这个模版啊,yield 就是其他 view 进来的位置,书上不是有写么。
application.html.erb 是一个全局模板,它在整个 app 的每一个网页都会被调用。
比方说你访问 http://abc.com/users/1 这个 path,标准路由是找 /app/views/users/show.html.erb 这个模板,但实际上 rails 最终返回给浏览器的是 /app/views/layouts/application.html.erb 和 /app/views/users/show.html.erb 这两个文件 (当然还要编译过)。
yield 是告诉 application.html.erb 在什么位置把实际路由请求的模板插到这个全局模板里面,以上例而言,yield 的位置就是 show.html.erb 的位置。
明白了,确实是 show。我猜测是 route 默认对应 show 吧。
#3 楼 @chenge 晕,route 没默认对应什么,这取决于你发出请求的 url。你楼上举得例子的 url 就是访问 users controller 里的 show 方法的。