Przechowywanie danych konfiguracji

Mam korka z przechowywaniem danych konfiguracyjnych/administracyjnych aplikacji, w sumie to jakoś to zrobiłem na zwykłym modelu, ale zastanawia mnie czy jest jakiś inny sposób?

config/application.yml? Ładowany przy starcie aplikacji? Działa do wielu rzeczy, np. definiowania domeny dla ActionMailera itd. :slight_smile:

Ja sobie zrobiłem model settings i tam wszystko trzymam (w sensie konfiguracje strony typu nazwa strony, ilość newsów na stronie głównej itd.). Sam nie wiem czy tak powinno się robić.

AppConfig jest dobry (definicja w pliku YML, parsowanie ERB, dostęp do ustawień przez OStruct, różne konfigi dla różnych środowisk (development,staging,production), plik jest przeładowany w trybie development więc nie trzeba restartować serwera z każdą zmianą etc.)

dziękuje :slight_smile: już badam

Ja używam generatora nifty_config z nifty-generators

Czy to przeładowywanie w środowisku dev na pewno działa? Dodałem w config/environments/development.yml:

foo: "bar" rand: <%= rand(10) %>
Oczekiwałbym, że skoro plik jest przeładowywany to wartości dla pola “rand” będą inne przy każdym przeładowaniu strony (bez restartu serwera), ale tak nie jest.

My używamy własnego rozwiązania, bardzo podobne do AppConfig ale można np. definiować różne konigi dla środowisk i wartości domyślne. Z drugiej strony brakuje ERB…
http://github.com/amberbit/amberbit-config/tree/master

Hubert, przyglądałem się także i waszemu pluginowi. Wsparcie dla erba byłoby fajne, bo można wtedy mieć dynamicznie generowane wartości (czasem się przydaje).

No tak, tylko nie było to na razie potrzebne. W sumie powinna być to jedna linijka (ERB.new(tekst)) + pewnie jakaś obsługa błędów, a że jest niedziela… może może.