On Miércoles, 3 de Noviembre de 2010 16:47:45 Dan Candea escribió:
> On 11/03/2010 03:09 PM, Dan Candea wrote:
> > On 11/03/2010 12:43 PM, Sergio Cambra .:: entreCables S.L. ::. wrote:
> >> On Miércoles, 3 de Noviembre de 2010 11:30:54 Dan Candea escribió:
> >>> On 11/03/2010 10:20 AM, Sergio Cambra .:: entreCables S.L. ::. wrote:
> >>>> On Martes, 2 de Noviembre de 2010 14:54:45 Dan escribió:
> >>>>> hello
> >>>>> 
> >>>>> I would appreciate some help with the issue below.
> >>>>> 
> >>>>> I have in a model a hash with array values, like this
> >>>>> 
> >>>>> class User<   ActiveRecord::Base
> >>>>> 
> >>>>>     LIST = { "Dan" =>   ["333","abc"] ,
> >>>>>     
> >>>>>              "John" =>   ["777","qwery"] ,
> >>>>>           
> >>>>>           }
> >>>>> 
> >>>>> end
> >>>>> 
> >>>>> class UserController<   ApplicationController
> >>>>> 
> >>>>>     active_scaffold :user do |config|
> >>>>>     
> >>>>>       config.label = "Test"
> >>>>>       config.columns = [:name, :value]
> >>>>>       config.columns[:name].form_ui = :select
> >>>>>       config.columns[:name].options = {:options =>   User::LIST.map}
> >>>>>       config.columns[:name].update_column = :value
> >>>>>       config.columns[:value].form_ui = :select
> >>>>>     
> >>>>>     end
> >>>>> 
> >>>>> end
> >>>>> 
> >>>>> I what that on selection of a name from the User::LIST on :value
> >>>>> field
> >>>>> to be presented with the options from the array
> >>>>> how can I do that?
> >>>> 
> >>>> You can't use :select form_ui in this case, you will have to make a
> >>>> form
> >>>> override for value column
> >>> 
> >>> so I added
> >>> 
> >>> module UserHelper
> >>> 
> >>>     def value_form_column(record, input_name)
> >>>     if record.name
> >>>     
> >>>       select_tag input_name, options_for_select(record.name)
> >>>     
> >>>     else
> >>>     
> >>>       select_tag input_name, options_for_select([])
> >>>     
> >>>     end
> >>>     end
> >>> 
> >>> end
> >>> 
> >>> is this correct ?
> >> 
> >> No, you have to set the same id as AS set usually. If you are using
> >> master
> >> branch you will get an options hash instead of input_name, so it's
> >> easier:
> >> def value_form_column(record, options)
> >> if record.name
> >> select :record, :value, options_for_select(User::LIST[record.name]),
> >> options
> >> ....
> >> 
> >> If you are using rails-2.3 branch, you can use
> >> active_scaffold_input_options to
> >> get the id:
> >> def value_form_column(record, input_name)
> >> column = active_scaffold_config.columns[:value]
> >> id = active_scaffold_input_options(column)[:id]
> >> if record.name
> >> select :record, :value, options_for_select(User::LIST[record.name]),
> >> 
> >> :name =>
> >> 
> >> input_name, :id =>  id
> > 
> > I get the id the same way even if  User belongs_to other record?
> > I'm receiving the same RJS error  and I thins I receiving the wrong id
> 
> I had a look in the html pages it generates, and the select  form
> element which I want to update
> doesn't exists.
> this is because in the controller there is no .form_ui ?!

If you make a form override form_ui is not used, even when you set it.

> 
> >> .....
> >> 
> >>> sorry for bottoring with this but the documentation is so light
> >>> 
> >>> when .update_column  is exexcuted i get
> >>> 
> >>> RJS error:
> >>> TypeError: Cannot call method 'up' of null
> >> 
> >> You get that error because cannot get the field to update, because
> >> you are not
> >> using AS id schema.
> >> 
> >>>>>    I searched all the docs but only possible solution is to use
> >>>>> 
> >>>>> Custom
> >>>>> 
> >>>>> Association Options, but this means the values should be stored in
> >>>>> the
> >>>>> database
> >>>>> 
> >>>>> thank you

-- 
Sergio Cambra .:: entreCables S.L. ::.
Mariana Pineda 23, 50.018 Zaragoza
T) 902 021 404 F) 976 52 98 07 E) [email protected]

-- 
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.

Reply via email to