Rails宝典之第十式: 重构用户名-p1

本文介绍了一种通过重构代码来简化用户姓名显示的方法。原本需要在每个页面重复编写显示姓名的代码,通过创建User类并定义full_name方法,实现了在不同页面间的复用,提高了代码的整洁性和维护效率。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

看这个显示用户Profile的页面:
[code]
<h1>Profile</h1>
<p>
Name:
<%= @user.first_name %>
<%= "#{@user.middle_initial}." unless @user.middle_initial.nil? %>
<%= @user.last_name %>
</p>

<% link_to 'Users List', users_path %>
[/code]
当别的页面需要显示用户名时,我们又得将上述代码copy一遍,敏感的开发人员可能已经闻到“[url=http://www.blogjava.net/raimundox/archive/2007/07/10/129436.html]风水[/url]”或bad smell了吧。

好,我们来重构:
[code]
class User < ActiveRecord::Base
def full_name
name = first_name
name += "#{middle_initial}." unless middle_initial.nil?
name += last_name
name
end
end
[/code]
页面就可以这样写了:
[code]
<h1>Profile</h1>
<p>
Name:
<%= @user.full_name %>
</p>

<% link_to 'Users List', users_path %>
[/code]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值