開發環境下的 initializers (reload) 問題
希望 config/initializers 下的行為能在每次 app reload 時重跑一次的解決方案。

當我們在 config/initializers 下做了一些動態行為,例如 model extend。遇到 app reload 時,特別是在 development 環境下,因為所有的 class 都 reload 了,使得原本在 initializers 裡面執行的 extend 動作被 reset,導致 reload app 後,那些 extend 的效果失效。
這時 ActiveSupport::Reloader 提供了非常好的解決方案,它提供了 app reload 前後的 callback,方便我們把寫在 initializers 裡面的內容,在 app reload 時也會自動的跑一次:
before:
# config/initializers/foo.rb User.extend(PowerUpConcern)
after:
# config/initializers/foo.rb ActiveSupport::Reloader.to_prepare do User.extend(PowerUpConcern) end
更多相關 method 可參考此 https://api.rubyonrails.org/classes/ActiveSupport/Reloader.html
延伸閱讀
加入 BNI 商會心得
於 2023/10 加入了 BNI 台南商會(大信白金),本篇文章將分享加入後的心得,並持續更新心得內容,確認在不同階段的自己是否有偏離初衷。
rails app(web) 嵌入到 iframe 中
ruby on rails 的 web 預設是無法嵌入到 HTML iframe 中的,本篇文章將教學如何使其成功在不同網域中將 rails web 成功嵌入到 iframe 中。
設定電子郵件 DMARC
提供設定 DMARC 的範例,並且提供官方語法說明和檢測工具連結。

