[Rails] Creating a model that acts as a settings manager
Iván Vega Rivera
ivanvega at gmail.com
Fri Jan 6 01:03:12 GMT 2006
Thanks for your insight, I think I'll go with it.
Ivan V.
Chris Hall wrote:
> i might suggest using the magic 'type' column instead of group
>
> id int PK
> name varchar(40)
> type varchar(40) #magic column
> value varchar(40)
>
> class Setting < AR::Base
> end
>
> class MainSetting < Setting
> end
>
> class UserSetting < Setting
> end
>
> class SomeOtherSetting < Setting
> end
>
> # and so on for all your setting types
>
> a = MainSetting.create(:name => "something", "value" => "34")
> b = UserSetting.find_by_name("expire") # a.value = 45
>
> I'm not saying what you want to do can or cannot be done, I just think
> it would be more work than just doing it the 'Rails Way'
>
> Chris
>
> On 1/4/06, *Iván Vega Rivera* <ivanvega at gmail.com
> <mailto:ivanvega at gmail.com>> wrote:
>
> Hi,
>
> I was wondering how could you create a model that is tied to all the
> records in one table, and retrieves the values of all records on first
> load, and also handles the updating of its values.
>
> For example, suppose I have this table:
>
> id INT(11) PK
> group CHAR(40)
> name CHAR(40)
> value CHAR(128)
> updated_at DATETIME
>
> Sample rows:
> group name value
> ---------------------------
> main something 123
> users expire 45
>
> Then, I'd like very much to do something like this in Rails:
>
> Settings.main.something = 34
> a = Settings.users.expire
>
> And also being able to override default behaviors, because maybe I'd
> want to do something special each time a specific setting is changed.
>
> Currently, I'm just defining a method for each setting, but I keep
> thinking there must be a better way.
>
> Thanks in advance!
>
> - Ivan V.
>
> _______________________________________________
> Rails mailing list
> Rails at lists.rubyonrails.org <mailto:Rails at lists.rubyonrails.org>
> http://lists.rubyonrails.org/mailman/listinfo/rails
>
>
> ------------------------------------------------------------------------
>
> _______________________________________________
> Rails mailing list
> Rails at lists.rubyonrails.org
> http://lists.rubyonrails.org/mailman/listinfo/rails
>
More information about the Rails
mailing list