如何簡化「常常在 rails console 裡反覆輸入某些指令」的狀況
開發的時候常需要在 rails console 下尋找一個 user 來做某些實驗,通常是用自己的帳號,因此就會每天都在敲 user = User.find_by_email(自己的 email)
,很浪費時間,用這個技巧就可以改善此類問題。
解決方法
在家目錄底下建立 .irbrc
(如果用 pry 的話則是 ~/.pryrc
)
class Dev
def self.me
User.find_by_email("your_mail@example.com")
end
end
之後就可以在 rails console 下
[1] pry(main)> user = Dev.me
User Load (0.3ms) SELECT `users`.* FROM `users` WHERE `users`.`email` = 'your_mail@example.com' LIMIT 1
...
常在 rails console 下打的指令都可以考慮如何利用這個手法,但必須注意命名不要跟現有專案的衝突。
p.s. 以前我會寫一支開發專用的
app/models/dev.rb
,裡面有各種方便的 methods。但後來手上專案很多,每個都加一次很麻煩,且同事可能不想共用這種手法(加上 email 不同),所以放在自己的~/.pryrc
。