不确定在 Rails 中使用偏音
Unsure about using partials in Rails
所以我正在做 Michael Hartl 的 railstutorial 并在第 9 章。这段代码用于分页,其中渲染用户渲染部分(名为 _user),其中嵌入 ruby 个人资料图片和用户名
<% provide(:title, 'All users') %>
<h1>All users</h1>
<%= will_paginate %>
<ul class="users">
<% @users.each do |user| %>
<%= render user %>
<% end %>
</ul>
<%= will_paginate %>
然而这段代码被重构为
<% provide(:title, 'All users') %>
<h1>All users</h1>
<%= will_paginate %>
<ul class="users">
<%= render @users %>
</ul>
<%= will_paginate %>
我现在的问题是 Rails 是如何知道渲染部分 _user 的,因为没有明确的指示这样做?我试过更改部分的名称以弄清楚如何,但我仍然不知道。例如,我重命名了部分 _users,它导致了一个错误。感谢您的帮助。
它知道您创建的 @users
集合是由 class User
的实例组成的,因此当您在视图中调用 render @users
时,它查找名为 _user.html.erb
的文件,并为集合中的每个 User
实例端到端地呈现该文件。在局部中,您可以使用 user
.
访问局部对应的 User
实例的迭代
如果您有一个名为 @my_collection
的集合,并且它由 class Howdy
的实例组成,那么 render @my_collection
将查找名为 _howdy.html.erb
并为 @my_collection
中的每个 Howdy
实例渲染它。局部的对应 Howdy
实例的迭代将在局部中作为 howdy
访问。
所以我正在做 Michael Hartl 的 railstutorial 并在第 9 章。这段代码用于分页,其中渲染用户渲染部分(名为 _user),其中嵌入 ruby 个人资料图片和用户名
<% provide(:title, 'All users') %>
<h1>All users</h1>
<%= will_paginate %>
<ul class="users">
<% @users.each do |user| %>
<%= render user %>
<% end %>
</ul>
<%= will_paginate %>
然而这段代码被重构为
<% provide(:title, 'All users') %>
<h1>All users</h1>
<%= will_paginate %>
<ul class="users">
<%= render @users %>
</ul>
<%= will_paginate %>
我现在的问题是 Rails 是如何知道渲染部分 _user 的,因为没有明确的指示这样做?我试过更改部分的名称以弄清楚如何,但我仍然不知道。例如,我重命名了部分 _users,它导致了一个错误。感谢您的帮助。
它知道您创建的 @users
集合是由 class User
的实例组成的,因此当您在视图中调用 render @users
时,它查找名为 _user.html.erb
的文件,并为集合中的每个 User
实例端到端地呈现该文件。在局部中,您可以使用 user
.
User
实例的迭代
如果您有一个名为 @my_collection
的集合,并且它由 class Howdy
的实例组成,那么 render @my_collection
将查找名为 _howdy.html.erb
并为 @my_collection
中的每个 Howdy
实例渲染它。局部的对应 Howdy
实例的迭代将在局部中作为 howdy
访问。