国产探花免费观看_亚洲丰满少妇自慰呻吟_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ā)表
主站蜘蛛池模板: 且末县| 鹤山市| 平武县| 厦门市| 乳源| 邵阳县| 菏泽市| 山东| 开封县| 伊宁市| 普格县| 睢宁县| 汉寿县| 舟山市| 寿阳县| 安新县| 高邑县| 太仓市| 元谋县| 合川市| 肇庆市| 清涧县| 常宁市| 辽源市| 龙游县| 高唐县| 伊宁县| 湾仔区| 海阳市| 洪江市| 瓮安县| 元阳县| 韩城市| 诸暨市| 双辽市| 茂名市| 宜良县| 昌图县| 惠来县| 彰化县| 灯塔市|