ruby-on-rails-3 - 重构 - 第 11 章,练习 3 Rails 教程第 2 版

标签 ruby-on-rails-3 refactoring railstutorial.org

通过 Chapter 11 Exercises for Michael Hartl's Rails Tutorial 2nd Edition 工作的其他人?

第 11 章,练习 3 要求:
重构代码 list 11.31,为以下/关注者页面、主页和用户展示页面的通用代码添加部分代码。

我在主页、用户展示页面或 show_follow 页面中没有看到任何值得重构的内容

如果有人想出一些对这个练习有值(value)的东西,很想知道。

谢谢!

最佳答案

你可以重构代码 list 11.31 中的第一 block 代码:

<section>
  <%= gravatar_for @user %>
  <h1><%= @user.name %></h1>
  <span><%= link_to "view my profile", @user %></span>
  <span><b>Microposts:</b> <%= @user.microposts.count %></span>
</section>

因为它本质上与主页上使用的 views\shared_user_info.html.erb 部分相同( list 10.32)。因此,您可以将上面的代码块替换为:
<%= render 'shared/user_info' %> 

请注意,您还需要添加 <% @user ||= current_user %>到 views\shared_user_info.html.erb 部分的顶部(这与在 list 11.20 中添加到 stats 部分所必需的相同)。

此外,feed_item + feed 部分与用户 + micropost 部分之间存在一些重复(尽管不是完全重复),其中根据显示的页面(follow_show、home 或 profile)列出一个或多个元素(姓名、头像、管理员删除链接、微博内容、微博时间戳、微博删除链接)。这些也可能会被重构,以消除 feed_item+feed 部分,并根据页面将它们替换为用户 + micropost 部分的组合。

关于ruby-on-rails-3 - 重构 - 第 11 章,练习 3 Rails 教程第 2 版,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10254365/

相关文章:

c++ - 按值传递参数的性能

ruby-on-rails - 预期 css "title"与文本 "Ruby on Rails Tutorial Sample App | Sign Up"返回一些东西

session - 在 Rails 中,当浏览器关闭时如何销毁 session ?

ruby - 为什么 Ruby String.hash 跨机器不一致?

ruby-on-rails - 你如何分解出 RSpec 中常见的 "before(:each)"调用,以便多个规范可以使用它们?

ruby-on-rails-3 - Stripe订阅后可以更新订阅金额吗?

c# - 我可以通过将 SQL 命令重构为 C# 类来提高性能吗?

ruby-on-rails - Rails : "This error occurred while loading the following files: bcrypt"

ruby-on-rails-3 - redirect_to 外部 url 传递参数

ruby-on-rails-3 - rails3 gem : acts_as_something