@Yuichiro I made a small helper for AS to solve this. I will convert this into a plugin soon, but for now this could be useful.
You need to create a initializer file with this content: http://pastie.org/private/7bwdwqwc7jemz1aharpa Then you use like I said: class Model VALUES = [ [human_attribute_name('one'), 'one'], [human_attribute_name('two'), 'two'], ].freeze end class Controller active_scaffold do |config| config.columns[:name].form_ui = :enum config.columns[:name].options = Model::VALUES end end And you dont need to create a helper to parse the column. The helper was I made will do it using the options value. Regards Em Sex, 2009-10-02 às 11:28 +0900, EBIHARA, Yuichiro escreveu: > Wow, great! Thanks! > > ebi > > 2009/10/1 Sergio Cambra .:: entreCables S.L. ::. <[email protected]>: > > > > On Jueves, 1 de Octubre de 2009 13:27:22 EBIHARA, Yuichiro escribió: > >> Gabriel, > >> > >> Thank you for your reply. > >> Your idea looks better than my current implementation. > >> > >> By the way, I have validates_inclusion_of command in my model as follows. > >> > >> class MyModel < ActiveRecord::Base > >> validates_inclusion_of :status, :in => ["A", "R", "P"] > >> end > > > > Change :in => ["A", "R", "P"] with STATUSES.collect{|string, key| key} > > > >> > >> If I defined STATUSES as Gabriel proposes, it would be no longer DRY. > >> Does anyone have a good idea to keep things DRY? > >> > >> Thanks, > >> > >> ebi > >> > >> 2009/10/1 Gabriel Sobrinho <[email protected]> > >> > >> > Hi, > >> > > >> > I usually do that: > >> > > >> > class MyModel > >> > STATUSES = [ > >> > [human_attribute_name('approved'), 'A'], > >> > [human_attribute_name('rejected'), 'R'], > >> > [human_attribute_name('pending'), 'P'] > >> > ] > >> > end > >> > > >> > class MyController > >> > active_scaffold do |config| > >> > config.columns[:status].form_ui = :select > >> > config.columns[:status].options = MyModel::STATUSES > >> > end > >> > end > >> > > >> > module MyControllerHelper > >> > def status_column record > >> > MyModel.human_attribute_name record.status > >> > end > >> > end > >> > > >> > > >> > But I has too much code and I don't know another way. This works like a > >> > enum field, I never thinked about simplify that before. > >> > > >> > I will wait for other's users suggestions. > >> > > >> > Em Qui, 2009-10-01 às 15:23 +0900, EBIHARA, Yuichiro escreveu: > >> > > >> > Hi, > >> > > >> > My model has a "status" column to store the status of approval. > >> > The value can be one of "A" for approved, "R" for rejected and "P" for > >> > pending. I'd like to let users choose a value from a select list and I > >> > added the following lines in my controller. > >> > > >> > config.columns[:status].form_ui = :select > >> > config.columns[:status].options = {:options => [["Approved", "A"], > >> > ["Rejected", "R"], ["Pending", "P"]]} > >> > > >> > It works in Update view as I expect. > >> > Now I want the translated string ("Approved", "Rejected", "Pending") > >> > to be displayed in List and Show views, too. > >> > Is it possible to implement it "declaratively", instead of using field > >> > override? > >> > > >> > Thanks in advance, > >> > > >> > ebi > >> > > >> > > >> > > >> > -- > >> > Cordialmente, > >> > > >> > Gabriel Sobrinho > >> > > >> > Diretor de desenvolvimento > >> > > >> > Hite Comunicação Digital e Mídia Interativahttp://www.hite.com.br/ > >> > > >> > +55 31 8775 8378 > >> > >> > > -- > > Sergio Cambra .:: entreCables S.L. ::. > > Mariana Pineda 23, 50.018 Zaragoza > > T) 902 021 404 F) 976 52 98 07 E) [email protected] > > > > > > > > > > > > -- Cordialmente, Gabriel Sobrinho Diretor de desenvolvimento Hite Comunicação Digital e Mídia Interativa http://www.hite.com.br/ +55 31 8775 8378 --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "ActiveScaffold : Ruby on Rails plugin" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://groups.google.com/group/activescaffold?hl=en -~----------~----~----~----~------~----~------~--~---
