Don't like ads? PRO users don't see any ads ;-)
Guest

Untitled

By: a guest on May 6th, 2012  |  syntax: None  |  size: 1.09 KB  |  hits: 21  |  expires: Never
download  |  raw  |  embed  |  report abuse  |  print
Text below is selected. Please press Ctrl+C to copy to your clipboard. (⌘+C on Mac)
  1. Rails 3 has_many :through form with dropdown menus?
  2. class Project < ActiveRecord::Base
  3. has_many :employees, :through => :teams
  4. has_many :teams
  5.  
  6. class Employee < ActiveRecord::Base
  7. has_many :projects, :through => :teams
  8. has_many :teams
  9.  
  10. class Team < ActiveRecord::Base
  11. belongs_to :project
  12. belongs_to :employee
  13.        
  14. <%= f.input :employees, :as => :select %>
  15.        
  16. <%= f.semantic_fields_for :employees do |builder| %>
  17.      <%= render 'employee_fields', :f => builder %>
  18. <% end %>
  19. <%= link_to_add_fields "add employee", f, :employees %>
  20.        
  21. <p class="fields">
  22.     <%= f.input :name, :as => :select, :collection => Employee.find(:all) %>
  23.     <%= f.hidden_field :_destroy %>
  24.     <%= link_to_remove_fields "remove", f %>
  25. </p>
  26.        
  27. <%= semantic_form_for @project do |f| %>
  28.     .
  29.     .
  30.     <%= f.semantic_fields_for :teams do |builder| %>
  31.         <input id="project_teams_none" name="team[employee_ids][]" type="hidden" value="" />
  32.         <%= render 'team_fields', :f => builder %>
  33.     <% end %>
  34.        
  35. <div class="input">
  36.     <%= f.collection_select(:employee_id, Employee.all, :id, :name, :include_blank => true ) %>
  37. </div>