Ruby優(yōu)化繼承類實(shí)例
在Rails的原則里有簡(jiǎn)化Controller,豐富Model的說法。下面將用一個(gè)示例展示一個(gè)簡(jiǎn)單的繼承優(yōu)化。特別是你的method里有一個(gè)寫變化的self變量的時(shí)候。
假設(shè)我們有如下的Model
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
我們可以通過繼承的使用簡(jiǎn)化代碼如下SubjectMatterExpert Administrator
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è)試中這么使用:
it 'should create an activation code' do
admin = Factory(:administrator)
admin.make_activation_code
admin.activation_code.should_not be_empty
end
相關(guān)文章
艱難完成 nginx + puma 部署 rails 4的詳細(xì)記錄
用 Ruby on Rails 寫了個(gè)半成品 Limlog 博客系統(tǒng)作為 Rails 練習(xí),花了很長(zhǎng)時(shí)間想解決部署問題,終于才剛解決。。。2014-06-06Ruby和Ruby on Rails中解析JSON格式數(shù)據(jù)的實(shí)例教程
這篇文章主要介紹了Ruby和Ruby on Rails中解析JSON格式數(shù)據(jù)的實(shí)例教程,文中介紹到的Ruby on Rails中的JSON解析工具包json_pure使用起來十分方便,需要的朋友可以參考下2016-04-04在阿里云 (aliyun) 服務(wù)器上搭建Ruby On Rails環(huán)境
最近總是在配置阿里云的服務(wù)器,遇到不少問題,現(xiàn)小結(jié)一下,供大家參考~~2014-06-06Ruby中的方法(函數(shù))學(xué)習(xí)總結(jié)
這篇文章主要介紹了Ruby中的方法(函數(shù))學(xué)習(xí)總結(jié),本文講解了函數(shù)的命名規(guī)則、函數(shù)參數(shù)、返回值等內(nèi)容,需要的朋友可以參考下2014-11-11Ruby on rails安裝后去掉DL is deprecated,please use Fiddle警告信息的方法【
這篇文章主要介紹了Ruby on rails安裝后去掉DL is deprecated,please use Fiddle警告信息的方法,通過針對(duì)Ruby on rails安裝文件中的警告部分源碼進(jìn)行注釋來達(dá)到消除警告的目的,需要的朋友可以參考下2017-02-02Ruby里4種比較函數(shù)(equal?, eql?, ==, ===)詳解
本文給大家詳細(xì)介紹了Ruby中的4種比較函數(shù)(equal?, eql?, ==, ===)的用法,并用具體示例進(jìn)行了講解,希望對(duì)大家學(xué)習(xí)ruby能夠有所幫助。2016-02-02