iT邦幫忙

2022 iThome 鐵人賽

DAY 23
0
Modern Web

Rails,我要進來囉系列 第 23

第二十三天:Rails 的 Command Line 工具,發現好多酷東東

  • 分享至 

  • xImage
  •  

開場白

鼬~~哩賀,我是寫程式的山姆老弟,昨天跟大家一起看了 Rails 內建的測試框架 - Minitest,今天來看一下大家熟悉的 $ rails new new_project$ rails g controller 之類的 Rails command line tool 有哪些用法吧,夠夠~

https://raw.githubusercontent.com/shrimp509/my-img-host/master/relacs-studio/Rails%E6%88%91%E8%A6%81%E9%80%B2%E4%BE%86%E5%9B%89/day23-1.png

Rails new 時,可以使用的參數

每當你輸入 $ rails new xxx,建立一個新的專案時,都會自動建出一堆檔案,對於大部分的專案來說,肯定會有一些東西是專案不需要的,如果在創立專案時就已經確定知道不需要,那就可以適時透過一些參數來幫專案瘦身

https://raw.githubusercontent.com/shrimp509/my-img-host/master/relacs-studio/Rails%E6%88%91%E8%A6%81%E9%80%B2%E4%BE%86%E5%9B%89/day23-2.png

除了 rails new 之外的 commands

常見的:

  • $ rails console
  • $ rails server
  • $ rails test
  • $ rails generate
  • $ rails db:migrate
  • $ rails db:create
  • $ rails routes

少見的,至少對我來說是這樣 XD

  • $ rails console,還有 --sandbox 模式,在這個模式下建立的資料並不會影響到資料庫

  • $ rails dbconsole,這個我還真的是沒用過,酷東東,可以直接進去 DB 的 console,下 SQL 指令,也可以縮寫為 $ rails db

  • $ rails runner,這個我有看過但也沒用過,可以直接執行 rails 指令,就像在 rails console 裡執行一樣,只是不是互動式的,縮寫為 $ rails r

  • $ rails destroy,有 generate 就會有 destroy,縮寫為 $ rails d

  • $ rails about,會印出這個專案的各種資訊,包含 Ruby 版本、Rails 版本、使用的 middleware 有哪些、DB 資訊

    https://raw.githubusercontent.com/shrimp509/my-img-host/master/relacs-studio/Rails%E6%88%91%E8%A6%81%E9%80%B2%E4%BE%86%E5%9B%89/day23-3.png

  • $ rails assets:clobber,和 $ rails assets:clean 不一樣的是,clean 是把舊版 compiled 的資源清掉,但還會保留最新版的;而 clobber 則是把全部都刪掉

  • $ rails notes,可以搜尋程式碼裡的註解,看有沒有帶有 FIXME, TODO, OPTIMIZE 的註解字樣

    • 也可以自訂關鍵字,例如你在程式碼某行註解 # WTF,就可以透過 $ rails notes -a WTF 找出來,是個蠻有趣的應用 XD
    • 自訂的關鍵字,也可以直接寫在設定檔裡,例如 config/application.rbconfig/development.rb 裡,config.annotations.register_tags('WTF', 'DEPRECATED'),小弟實測發現關鍵字是不能用中文的~
  • $ rails stats,可以列出各種類型的檔案資訊,這個真的很酷~~~~

    https://raw.githubusercontent.com/shrimp509/my-img-host/master/relacs-studio/Rails%E6%88%91%E8%A6%81%E9%80%B2%E4%BE%86%E5%9B%89/day23-4.png

  • $ rails time:zones:all,列出 Rails 認得的所有時區的城市

總結

今天漲了蠻多知識的,真是滿足的一天,自己用 $ rails -h 還有看到很多文件沒寫到的,有機會再一個一個去研究,今天就先這樣囉,我們明天見~


上一篇
第二十二天:Rails 官方內建的測試框架 - Minitest
下一篇
第二十四天:Rails 的各種神奇設定 - Rails Configuration
系列文
Rails,我要進來囉30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言