2010-04-15 4 views
0

Je viens de commencer à travailler sur un projet Ruby On Rails et j'en suis arrivé au point où j'ai besoin de voir les contacts d'une entreprise.Comment mettre à jour deux f.select de 2 tables différentes sur ruby ​​on rails

Ils doivent apparaître une fois que la société est sélectionnée ..

<p> 
    <%= f.label :empresa_id %><br /> 
    <%= f.select(:empresa_id, @empresa.map {|e| [e.nombre, e.id]})%> 
</p> 

<%= observe_field :empresa_id, :url=>{:action => "get_contactos", 
    :controller=> :contactos, :updatewith =>:empresa_id} %> 

Mais rien ne se passe, je ne vois même pas une erreur sur le script/serveur.

Quelqu'un peut-il me diriger dans la bonne direction?

http://nealenssle.com/blog/2007/04/12/how-to-dynamically-update-form-elements-in-rails-using-ajax/

Je vois sur le lien qu'un gars a fait exactement la même chose que j'ai besoin, mais ne diffusez pas d'info.

Cheers.

Répondre

0

Kinda obtenu ce travail .. voici ma mise à jour ..

C'est la forme étaient mes boîtes de sélection sont placés:

« > "contacto_id", : avec => "empresa_id",: url => {: controller => "contactos", : action => "get_contactos"}%>

La fonction get_contactos sur le contrôleur contactos:

def get_contactos @contacto = Contacto.find_all_by_empresa_id (params [: empresa_id]) rendre: layout => false fin

Et la vue get_contactos.rhtml (contactos):

« >%>

J'ai juste besoin de lier le formulaire aux champs corrects et le travail sera fini.

Je ne pouvais pas obtenir ce travail en observant le terrain: empresa_id mais « empresa_id » fonctionne ..

Edit: Vous avez à travailler.

Je viens binded le champ du formulaire à ceux appropriés sur le modèle et maintenant j'ai les données =)

« > "llamada_contacto_id", : avec = > "empresa_id",: url => {: controller => "contactos", : action => "get_contactos"}%>

Questions connexes