Danke für den Tipp. Ist aber leider nicht das, was ich gesucht hab.

Hab mich jetzt für die Lösung entschieden, die Daten in einer eigenen Datei config.yml abzulegen.
Damit kann ich meine eigene Frage jetzt beantworten:

Laden der Config-Daten in application.rb:

 before_filter :configure_app

def configure_app # read config-file
   if File.exists?("#{RAILS_ROOT}/config/app/config.yml")
     file = File.open("#{RAILS_ROOT}/config/app/config.yml")
     yaml = YAML::load(file)
     file.close
   end
# set default values
   yaml = {} if yaml.nil? || yaml==false
   yaml['header'] = {} if yaml['header'].nil?
yaml['header']['filename'] = 'header.png' if yaml['header']['filename'].nil? # global configuration for controllers and views
   $CONFIG = yaml
 end

Zugriff in den Views:
<%= $CONFIG['header']['filename'] %>

Falls man etwas speichern will, dann geht's so:

 def save_config
   yaml = $CONFIG
   yaml['header']['filename'] = 'header2.png'
if File.exists?("#{RAILS_ROOT}/config/app/config.yml")
     file = File.open("#{RAILS_ROOT}/config/app/config.yml", 'w')
   else
     if !File.exists?("#{RAILS_ROOT}/config/app")
       Dir.mkdir("#{RAILS_ROOT}/config/app")
     end
     file = File.new("#{RAILS_ROOT}/config/app/config.yml", 'w')
   end
   YAML::dump(yaml, file)
file.close end

Weiß nicht, ob's nochmal wen beschäftigt, wollte aber nicht auf der Lösung sitzen bleiben, wo ich die Frage gestellt hatte...

Grüße,

Thomas Voigt.



Daniel Weinand schrieb:
Hatte mal hiermit [1] was gemacht. Vielleicht tuts das wie du es gerne
hättest.

[1] http://github.com/cmaggard/configatron-rails/tree/master

HTH

Thomas Voigt schrieb:
Hallo zusammen!

Bei einer immer weiter gewachsenen Anwendung von mir ist es
mittlerweile sinnvoll, dass es einen Admin-Bereich gibt, in dem man
einige Einstellungen machen kann. Sowas wie: Welches Header-Bild soll
heute verwendet werden, welche Liste von IDs von Beiträgen soll in
einer "featured"-Liste auf der Frontpage auftauchen und so weiter...

Bisher habe ich solche Einstellungen im Code gemacht und dann immer
ein Update committed. Damit aber auch andere die Einstellungen schnell
und ohne Programmieraufwand machen können, suche ich nach einer
anderen Lösung.

Jetzt frage ich mich: Wenn ich solche Daten speichern will, wie mache
ich das sinnvoll?
Ein Model anlegen? Ist eigentlich ja etwas übertrieben?
Eine Config-Datei anlegen? Wird das kompliziert mit Lesen und Schreiben?
Oder irgendwie ganz anders?


Hat da irgendwer Erfahrungen oder einen Tipp?

Dank und Grüße,

Thomas Voigt.
_______________________________________________
rubyonrails-ug mailing list
rubyonrails-ug@headflash.com
http://mailman.headflash.com/listinfo/rubyonrails-ug

_______________________________________________
rubyonrails-ug mailing list
rubyonrails-ug@headflash.com
http://mailman.headflash.com/listinfo/rubyonrails-ug


_______________________________________________
rubyonrails-ug mailing list
rubyonrails-ug@headflash.com
http://mailman.headflash.com/listinfo/rubyonrails-ug

Antwort per Email an