Closed11

RailsのsettingslogicとRails.configurationとconfig_forについて

ksaitoksaito

まずタイトルのあれがなんなのか雑に説明すると、Railsアプリケーションにおける諸々の設定管理の方法のこと。
昔はsettingslogicが主流だったけど、今はRails標準のRails.configurationconfig_forが主に使われるようになったみたい。

ksaitoksaito

もうすでに色々な記事が書かれていて、今更新しいことはないので自分の頭の整理のためにメモとして色々調べていこうと思う。

ちなみにこちらにだいたい知りたいことは書いてあったので、手を動かしながら見ていこうと思う。
https://hoshinotsuyoshi.com/post/rails_config_for/

ksaitoksaito

https://github.com/binarylogic/settingslogic
これを手元で動作確認してみるのだけど、見ての通り10年前で更新止まっている。
とりあえず最新のruby versionでは動かなさそうな雰囲気があるので、ruby v3.0.6のrailsプロジェクトを使う。

ksaitoksaito

READMEに従って挙動を見ようとしたら、以下のエラーが...

`visit_Psych_Nodes_Alias': Alias parsing was not enabled. To enable it, pass `aliases: true` to `Psych::load` or `Psych::safe_load`. (Psych::AliasesNotEnabled

これがもうつかわれなくなった理由なのか...?

ksaitoksaito

yamlで&使えなくないから、こうしないといけないのか
直書きするか、psychのほうでどうにかしないといけなさそうだから、これはつらい...

# default: &defaults
#   cool:
#     saweet: nested settings
#   neat_setting: 24
#   awesome_setting: <%= "Did you know 5 + 5 = #{5+5}?" %>

development:
  cool:
    saweet: nested settings
  neat_setting: 24
  awesome_setting: <%= "Did you know 5 + 5 = #{5+5}?" %>
  neat_setting: 800

# test:
#   <<: *defaults
ksaitoksaito

次はRails.configurationconfig_forに乗り換えて、動きを見てみる

このスクラップは2024/02/10にクローズされました