国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 編程 > Ruby > 正文

Ruby優(yōu)化繼承類實(shí)例

2020-10-29 19:38:37
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

在Rails的原則里有簡(jiǎn)化Controller,豐富Model的說(shuō)法。下面將用一個(gè)示例展示一個(gè)簡(jiǎn)單的繼承優(yōu)化。特別是你的method里有一個(gè)寫(xiě)變化的self變量的時(shí)候。

假設(shè)我們有如下的Model

復(fù)制代碼 代碼如下:

class SubjectMatterExpert < User 
 include HashCodeCreatorModule 
 def make_activation_code 
   self.deleted_at = nil 
   self.activation_code ||= make_hash_code 
 end 
end 
 
class Administrator < User 
 include HashCodeCreatorModule 
 def make_activation_code 
   self.deleted_at = nil 
   self.activation_code ||= make_hash_code 
 end 
end 

我們可以通過(guò)繼承的使用簡(jiǎn)化代碼如下SubjectMatterExpert Administrator

復(fù)制代碼 代碼如下:

class SubjectMatterExpert < User 
end 
 
class Administrator < User 
end 
 
class User 
 include HashCodeCreatorModule 
 def make_activation_code 
   self.deleted_at = nil 
   self.activation_code ||= make_hash_code 
 end 

那么我們也可以在測(cè)試中這么使用:

復(fù)制代碼 代碼如下:

it 'should create an activation code' do 
  admin = Factory(:administrator) 
  admin.make_activation_code 
  admin.activation_code.should_not be_empty 
end 

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 垣曲县| 天柱县| 西藏| 阜康市| 房山区| 雅安市| 剑河县| 嘉黎县| 芜湖市| 金沙县| 文水县| 固安县| 桦南县| 铅山县| 长葛市| 万年县| 扎囊县| 唐河县| 枝江市| 昌邑市| 铁力市| 云安县| 集贤县| 独山县| 曲松县| 航空| 吉林市| 汉寿县| 宣化县| 苍山县| 吉隆县| 惠水县| 博白县| 改则县| 太原市| 罗平县| 鄢陵县| 南开区| 灌云县| 遂平县| 繁昌县|