工作上 rails 在每個 stage 的 domain 長度都不太一樣 例如 production 是 example.com,staging 是 kerkerj.staging.example.com MyApp::Application.config.session_store :redis_session_store, { key: 'example_session_token', domain: :all, tld_length: 4, serializer: :hybrid, redis: { host: "....", key_prefix: "...", expire_after: 7.day, } } 相關原始碼: action_dispatch/middleware/cookies.rb 在這裡的 tld_length 就是看你 domain 的 tld 想設定到哪就寫多少 以 kerkerj.staging.example.com 為例,想要 example.com 就是 2,想要 kerkerj.staging.example.com 就是 4 而在 Rails App 裡,在 config.action_dispatch.tld_length (或 ActionDispatch::Http::URL.tld_length ) 設定的 tld_length 在 rails api document 的 #domain 有用法

Continue reading

如果 rails app 裡的 initializer 有載入順序的需求的話 可以照著 Ruby On Rails Guide 這篇來設定 If you have any ordering dependency in your initializers, you can control the load order through naming. Initializer files are loaded in alphabetical order by their path. For example, 01_critical.rb will be loaded before 02_normal.rb. 檔名加個數字前綴,rails 就會以數字順序來依序載入~

Continue reading

Author's picture

kerkerj

Cat lover <3

Backend Engineer

Taiwan