# Problema con select\_tag

**URL:** <https://www.ruby-forum.com/t/problema-con-select-tag/170298>\
**Category:** IT\
**Created:** [June 15, 2009, 6:28pm UTC](https://www.ruby-forum.com/t/problema-con-select-tag/170298 "2009-06-15T18:28:30Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![atd](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/a/dc4da7/32.png) [@atd](https://www.ruby-forum.com/u/atd)\
**Post date:** [June 15, 2009, 6:28pm UTC](https://www.ruby-forum.com/t/problema-con-select-tag/170298/1 "2009-06-15T18:28:30Z")

</div>

Ciao a tutti.  
Vi illustro il mio problema, confidando in un vostro intervento  
risolutivo.

Ho due tabelle cosÃ¬ fatte:

CREATE TABLE `technicals` (  
`id` int(11) NOT NULL auto\_increment,  
`name` varchar(255) default NULL,  
`tel` varchar(255) default NULL,  
`cel` varchar(255) default NULL,  
`fax` varchar(255) default NULL,  
`email` varchar(255) default NULL,  
`created_at` datetime default NULL,  
`updated_at` datetime default NULL,  
PRIMARY KEY (`id`)  
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO\_INCREMENT=3 ;

CREATE TABLE `domains` (  
`id` int(11) NOT NULL auto\_increment,  
`code` varchar(255) default NULL,  
`domain_name` varchar(255) default NULL,  
`structure_name` varchar(255) default NULL,  
`structure_address` varchar(255) default NULL,  
`adminc` varchar(255) default NULL,  
`techc` varchar(255) default NULL,  
`zonec` varchar(255) default NULL,  
`notes` text,  
`date` date default NULL,  
`created_at` datetime default NULL,  
`updated_at` datetime default NULL,  
PRIMARY KEY (`id`)  
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO\_INCREMENT=28 .

Vi listo il codice del mio controller domain

class DomainsController \< ApplicationController  
active\_scaffold :Domain do |config|  
config.theme = :blue  
config.label = “Lista domini”  
config.columns[:code].label = “Codice dominio”  
config.columns[:domain\_name].label = “Dominio”  
config.columns[:structure\_name].label = “Denominazione struttura”  
config.columns[:structure\_address].label = “Sede”  
config.columns[:adminc].label = “Admin C”  
config.columns[:techc].label = “Tech C”  
config.columns[:zonec].label = “Zone C”  
config.columns[:notes].label = “Note”  
config.columns[:date].label = “Data di assegnazione del dominio”  
config.columns[:adminc].form\_ui= :select  
config.list.columns = [:code, :domain\_name, :structure\_name,  
:structure\_address, :adminc, :techc, :zonec, :notes, :date]  
config.list.sorting = { :domain\_name =\> :asc }  
config.create.columns = [:code, :domain\_name, :structure\_name,  
:structure\_address, :adminc, :techc, :zonec, :notes, :date]  
config.update.columns = [:code, :domain\_name, :structure\_name,  
:structure\_address, :adminc, :techc, :zonec, :notes, :date]  
end  
end

Vorrei fare in modo che quando inserisco un nuovo dominio, nella casella  
adminc mi compaia un combo che mi permetta di scegliere il nome del  
tecnico direttamente dalla tabella technicals.

ho modificato il domain\_helper come segue:

module DomainsHelper  
def adminc\_form\_column(record, input\_name)  
technicals = Technical.find(:all, :order =\> “name”).map{|x|  
[x.name]+[x.id]}  
select\_tag (:technicals\_search, options\_for\_select(technicals))  
end  
end

Riesco a far comparire i nomi dei tecnici, scelgo, ma nel momento in cui  
do la create, mi memorizza tutti i dati della form domain ad esclusione  
dell’adminc.

Dove sbaglio?  
Sto impazzendo ma non ne vengo a capo.

Grazie in anticipo

---

<div class="post-metadata">

**Author:** ![atd](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/a/dc4da7/32.png) [@atd](https://www.ruby-forum.com/u/atd)\
**Post date:** [June 15, 2009, 7:54pm UTC](https://www.ruby-forum.com/t/problema-con-select-tag/170298/2 "2009-06-15T19:54:00Z")

</div>

> ho modificato il domain\_helper come segue:
> 
> module DomainsHelper  
> def adminc\_form\_column(record, input\_name)  
> technicals = Technical.find(:all, :order =\> “name”).map{|x|  
> [x.name]+[x.id]}  
> select\_tag (:technicals\_search, options\_for\_select(technicals))  
> end  
> end
> 
> Riesco a far comparire i nomi dei tecnici, scelgo, ma nel momento in cui  
> do la create, mi memorizza tutti i dati della form domain ad esclusione  
> dell’adminc.
> 
> Dove sbaglio?  
> Sto impazzendo ma non ne vengo a capo.
> 
> Grazie in anticipo

Credo di aver risolto!  
Ho modificato l’helper in questo modo:

module DomainsHelper  
def adminc\_form\_column(record, input\_name)  
technicals = Technical.find(:all, :order =\> “name”).map{|x|  
[x.name]}  
select\_tag input\_name, options\_for\_select(technicals)  
end  
end

E’ il miglior metodo o esiste qualche altra cosa che io disconosco ( e  
ne disconosco il 99%)?  
Comunque grazie
