Saludos desde Ecuador, me gustaria que me ayuden con este problema que llevo dias y no he podido resolver.
Estoy haciendo un sistema de matriculas y notas elaborado en Ruby on Rails con MYSQL.
Tengo 2 modelos que es de muchos a muchos PERSONAS y TIPOS, por lo tanto mi tabla de detalle entre estos, es PERSONAS_TIPOS, cuando creo a la persona y su tipo, sus respectivos "ids" NO se me guarda en mi tabla de detalles PERSONAS_TIPOS en mysql.
Se guarda la persona en tabla personas, y se me guarda tipo en la tabla tipos, pero como te digo en la tabla detalle PERSONAS_TIPOS NO me guarda sus respectivos IDS tanto de persona como Tipo.
Sabes donde puede estar la falla ?? O como puedes ayudarme ??
RAILS Y MYSQL
Comenzado por
cristhianarturo
, abr 25 2013 06:27
3 respuestas en este tema
#1
Escrito 25 abril 2013 - 06:27
#2
Escrito 26 abril 2013 - 06:17
Hola, normalmente en la tabla detalles no se guarda automáticamente el ID del Maestro, eso debes hacerlo tú, al momento de crear una persona debes tratar de obtener el último ID guardado en el maestro e iterar en el detalle guardando con ese ID, espero que logres entender mi explicación.
Saludos.
Saludos.
#3
Escrito 26 abril 2013 - 03:23
Gracias amigo enecumene, gracias a Dios ya salio y mi tabla detalle ya obtiene los respectivos ids de las relaciones entre esas tablas.
Como dices todo fue en el controlador.
Un cordial Saludo y Gracias nuevamente.
Como dices todo fue en el controlador.
Un cordial Saludo y Gracias nuevamente.
#4
Escrito 04 mayo 2013 - 02:43
Hola a todos, estoy atascado en algo y realmente no se que mas hacer, pero ojala me puedan ayudar, les agradeceria de todo corazon ya que es para mi tesis.
Estoy desarrollandola en ruby on rails con BD MYSQL.
Tengo 3 modelos ASIGNATURAS, MALLAS, Y NIVELS las cuales quiero que se guarden en mi tabla de detalle ASIGNATURAS_MALLAS_NIVELS
En mi controlador de Malla tengo :
def new
@clase = Clase.find(:all)
@nivel = Nivel.find(:all)
@asignatura = Asignatura.find(:all)
@malla = Malla.new
end
def create
@malla = Malla.new(params[:malla])
params[:malla][:asignatura_ids][:nivel_ids]||=[]
if @malla.save
redirect_to mallacurriculares_menu_principal_admin_path, :notice => 'MALLA CREADA CON EXITO'
end
end
En la vista malla tengo:
<%=form_for @malla , :url => {:action=>"create"} do |f| %>
<table> ESCOJA EL TIPO DE MALLA
<% for c in @clase %>
<tr>
<td> <%= f.radio_button :clase_id, c.id%> <%= c.tip_mall_descrip %></td>
</tr>
<% end %>
</table>
<br>
<table> ESCOJA EL CURSO O NIVEL
<% for n in Nivel.find(:all) %>
<tr>
<td> <%= check_box_tag "malla[nivel_ids][]", n.id, @malla.nivels.include?(n)%> <%= n.nivel_numero %></td>
</tr>
<%end%>
</table>
<br>
<br>
<table> ESCOJA LA ASIGNATURA
<% for a in Asignatura.find(:all) %>
<tr>
<td> <%= check_box_tag "malla[asignatura_ids][]", a.id, @malla.asignaturas.include?(a)%></td>
<td><%= a.asig_nombre %></td>
</tr>
<%end%>
</table>
<br>
<%= f.submit "GUARDAR" %>
<%end%>
Como pueden ver, yo ya tengo creadas las asignaturas y nivels, lo que quiero hacer en esta vista de MALLA, es que me listen (SI ME LISTAN) y al seleccionar las asignaturas, tipo de mallas y nivels me funcione seleccionando por medio de los RADIOBUTTON y CHECKBOX los ids respectivos y se me guarde en mi tabla de DETALLE ASIGNATURAS_MALLAS_NIVELS.
PERO NO SE ME GUARDA, ME SALE UN ERROR-----> can't convert Symbol into Integer
En los modelos creo que está bien, por eso no pongo el codigo..
Quisiera saber si la sintaxis de los radiobutton y checkbox está bien.
Si alguien sabe, les agradeceria de antemano por la ayuda.
Estoy desarrollandola en ruby on rails con BD MYSQL.
Tengo 3 modelos ASIGNATURAS, MALLAS, Y NIVELS las cuales quiero que se guarden en mi tabla de detalle ASIGNATURAS_MALLAS_NIVELS
En mi controlador de Malla tengo :
def new
@clase = Clase.find(:all)
@nivel = Nivel.find(:all)
@asignatura = Asignatura.find(:all)
@malla = Malla.new
end
def create
@malla = Malla.new(params[:malla])
params[:malla][:asignatura_ids][:nivel_ids]||=[]
if @malla.save
redirect_to mallacurriculares_menu_principal_admin_path, :notice => 'MALLA CREADA CON EXITO'
end
end
En la vista malla tengo:
<%=form_for @malla , :url => {:action=>"create"} do |f| %>
<table> ESCOJA EL TIPO DE MALLA
<% for c in @clase %>
<tr>
<td> <%= f.radio_button :clase_id, c.id%> <%= c.tip_mall_descrip %></td>
</tr>
<% end %>
</table>
<br>
<table> ESCOJA EL CURSO O NIVEL
<% for n in Nivel.find(:all) %>
<tr>
<td> <%= check_box_tag "malla[nivel_ids][]", n.id, @malla.nivels.include?(n)%> <%= n.nivel_numero %></td>
</tr>
<%end%>
</table>
<br>
<br>
<table> ESCOJA LA ASIGNATURA
<% for a in Asignatura.find(:all) %>
<tr>
<td> <%= check_box_tag "malla[asignatura_ids][]", a.id, @malla.asignaturas.include?(a)%></td>
<td><%= a.asig_nombre %></td>
</tr>
<%end%>
</table>
<br>
<%= f.submit "GUARDAR" %>
<%end%>
Como pueden ver, yo ya tengo creadas las asignaturas y nivels, lo que quiero hacer en esta vista de MALLA, es que me listen (SI ME LISTAN) y al seleccionar las asignaturas, tipo de mallas y nivels me funcione seleccionando por medio de los RADIOBUTTON y CHECKBOX los ids respectivos y se me guarde en mi tabla de DETALLE ASIGNATURAS_MALLAS_NIVELS.
PERO NO SE ME GUARDA, ME SALE UN ERROR-----> can't convert Symbol into Integer
En los modelos creo que está bien, por eso no pongo el codigo..
Quisiera saber si la sintaxis de los radiobutton y checkbox está bien.
Si alguien sabe, les agradeceria de antemano por la ayuda.