Has_many trhougt


#1

Tengo lo siguiente

script/generate scaffold_resource alumno nombre:string
script/generate scaffold_resource grupo nombre:string
script/generate scaffold_resource finanzas alumno_id:integer
grupo_id:integer pago:integer

#app/models/finanzas.rb
class Membership < ActiveRecord::Base
belongs_to :alumno
belongs_to :grupo
end

#app/models/grupo.rb
class Group < ActiveRecord::Base
has_many :finanzas
has_many :alumnos, :through => :finanzas
end

#app/models/alumno.rb
class User < ActiveRecord::Base
has_many :finanzas
has_many :grupos, :through => :finanzas

attr_accessor :grupo_ids
after_save :actualiza

#despues de salvar actualizar los grupos
def actualiza
unless grupo_ids.nil?
self.finanzas.each do |m|
m.destroy unless grupo_ids.include?(m.grupo_id.to_s)
grupo_ids.delete(m.grupo_id.to_s)
end
grupo_ids.each do |g|
self.finanzas.create(:grupo_id => g) unless g.blank?
end
reload
self.grupo_ids = nil
end
end
end

En la forma tengo esto…

<%= f.label :nombre %>
<%= f.text_field :nombre %>

<% for g in Grupo.find(:all) %>

<%= check_box_tag "alumno[grupo_ids][]", g.id ,@alumno.grupos.include?(g) %> <%= g.grupo %>
<% end %> --------------------------

la lista de checkbox de los grupos que hay en la tabla grupos, hasta
aqui todo va bien pero quiero hacer los siguente:

agregar un campo de seleccion para el campo pago que esta en la tabla
finanzas algo asi…

<% for g in Grupo.find(:all) %>

<%= texf_field_tag "[pagos][]", g.pago %>
<% end %>

pero no entiendo como pasar los datos del arreglo pagos a la tabla, es
decir como le digo que lo salve, algo similar como lo que se hace con el
arreglo grupo_ids[]…

Si alguien me puede echar la mano se lo agradeceria…