2011-05-23 4 views
0

On suppose cette forme:Comment envoyer un paramètre sujet au contrôleur en utilisant remote_function?

<% form_for(@student) do |f| %> 
<%= f.select(:subject_id, 
      options_from_collection_for_select(@subjects, :id, :name), 
      {:prompt => 'Select a subject' }, 
      {:onChange => "#{remote_function(:update => :student_exam_id, 
                 :url => { 
                  :action => :update_exams_list, 
                  :subject_id => 1 
                 } 
              ) 
          }" }) %> 
<%= f.select(:exam_id, 
      options_from_collection_for_select(@exams, :id, :title)) %> 
<% end %> 

Lorsque l'utilisateur sélectionne un sujet, puis la liste de sélection des examens doit être mis à jour avec des examens appartient à l'objet sélectionné.

Comment envoyer un paramètre sujet au contrôleur? J'ai essayé d'envoyer le paramètre en utilisant :subject_id => 1, mais cela ne fonctionne pas.

S'il vous plaît me suggérer des façons de faire cela.

Si vous avez besoin de plus d'informations, s'il vous plaît demandez-moi.

Merci beaucoup. Salutations.

Répondre

0

J'ai changé de sélection:

<%= f.select(:subject_id, 
      options_from_collection_for_select(@subjects, :id, :name), 
      {:prompt => 'Select a subject' }, 
      {:onChange => remote_function(:update => :student_exam_id, 
              :url => { :action => :update_exams_list }, 
              :with => "'subject_id=' + this.value") }) %> 

et cela fonctionne. : D

1

Bonjour, je pourrais répondre à votre question avec plus de détails. Au lieu de cela, vous ne devez regarder ce screencast:

http://railscasts.com/episodes/88-dynamic-select-menus

Il explanins ce que vous avez besoin et avec des instructions plus détaillées.

Espérons que ça aide.

+0

Merci beaucoup, c'est une manière statique, mais j'en ai besoin en utilisant une requête asynchrone. – Israel

Questions connexes