基于rails的schedule网站开发(12):index View页面的重构

来源:互联网 发布:科罗拉多州立大学知乎 编辑:程序博客网 时间:2024/05/17 07:34

abstract:

★title 1
❤title 2
☆title 3
title 4

重构前的index.html.erb页面

<% provide(:title, 'All users') %><h1>All users</h1><%= will_paginate %><ul class="users">  <% @users.each do |user| %>    <li>      <%= gravatar_for user, size: 50 %>      <%= link_to user.name, user %>    </li>  <% end %></ul><%= will_paginate %>

在app/views/users/_user.html.erb创建局部视图

<li>  <%= gravatar_for user, size: 50 %>  <%= link_to user.name, user %></li>

改写index.html.erb为:

<% provide(:title, 'All users') %><h1>All users</h1><%= will_paginate %><ul class="users">  <%= render @users %></ul><%= will_paginate %>

进一步重构!

<% provide(:title, 'All users') %><h1>All users</h1><%= will_paginate %><ul class="users">  <%= render @users %></ul><%= will_paginate %>

Rails 会把 @users 当作一个 User 对象列表,传给 render 方法后,Rails 会自动遍历这个列表,然后使用局部视图 _user.html.erb 渲染每个对象

0 0
原创粉丝点击