Forum: Rails-ES Insertar registro de unos combos dependientes

72eff099990a53230b22d9b759a424a0?d=identicon&s=25 Patricia B. (patricia_b)
on 2012-04-13 01:34
Buenas Tardes,

Tengo una pagina que se llama activifases, el cual contiene 2 combos el
primero muestra todo los proyectos y el 2do muestra las fases de un
proyecto seleccionado en el primer combo.

Lo coloque en el new de mi aplicacion y ambos trabajan muy bien, el
problema se me presenta tratando de insertar los valores seleccionados
de ambos combos en mi tabla activifase

El codigo que coloque en mi new.html.erb es el siguiente:

<h1><%= javascript_include_tag "prototype" %></h1>
<% form_for(@activifase) do |f| %>
<%= f.error_messages %>
<%= f.label :proyecto_id %>
<% proy_array = @proyectos.map {|x| [x.descripcion, x.id]} %>
<%=
select_tag("activifase[proyecto_id]",options_for_select(proy_array))%>
<div id="fase_id_container"></div>
<%= observe_field("activifase_proyecto_id",
                  :frequency => 0.25,
          :update => "fase_id_container",
          :url => {:action => :add_link_fase},
          :with => "'activifase_proyecto_id='+value") %>
<%= f.submit "Register" %>
<% end %>


el codigo que coloque (2do combo) en el add_link_fase.html.erb, es el
siguiente:

<HTML>
<HEAD><%= javascript_include_tag "prototype" %></HEAD>
<BODY>
<p>Fases<br />
<% @html = "<select id='fase_id' name='fase_id'>" %>
<%= @html += "<option value="">No Fases</option>" %>
<% @fases.each do |@fases| %>
<%= @html = "<option
value='#{@fases.id}'>#{@fases.descripcion}</option>" %>
<% end %>
<%= @html = "</select>" %>
</BODY>
</HTML>


en el controlador de actifivases.rb

  def add_link_fase
    @fases =
Fase.find_all_by_proyecto_id(params["activifase_proyecto_id"])
  end

  # GET /activifases/new
  # GET /activifases/new.xml
  def new
  @activifase = Activifase.new
  @proyectos = Proyecto.find_by_sql("select c.id, c.descripcion from
jerarquias x, usuarios b ,jerarquias_proyectos d , proyectos c where
x.empleado_id = b.id and   nvl(x.fecha_hasta, sysdate)>=sysdate and
d.supervisor_id = x.supervisor_id and   d.empleado_id   = x.empleado_id
and   to_number(c.creado_por) = x.supervisor_id and
nvl(c.fecha_hasta,sysdate)>=sysdate and   c.id = d.proyecto_id ")

    respond_to do |format|
      format.html # new.html.erb
      format.xml  { render :xml => @activifase }
    end
  end

  # POST /activifases
  # POST /activifases.xml
  def create
    @activifase = Activifase.new(params[:obj_activifase])
    @proyectos = Proyecto.find_by_sql("select c.id, c.descripcion from
jerarquias x, usuarios b ,jerarquias_proyectos d , proyectos c where
x.empleado_id = b.id and   nvl(x.fecha_hasta, sysdate)>=sysdate and
d.supervisor_id = x.supervisor_id and   d.empleado_id   = x.empleado_id
and   to_number(c.creado_por) = x.supervisor_id and
nvl(c.fecha_hasta,sysdate)>=sysdate and   c.id = d.proyecto_id ")
    respond_to do |format|
      if @activifase.save
        format.html { redirect_to(@activifase, :notice => 'Activifase
was successfully created.') }
        format.xml  { render :xml => @activifase, :status => :created,
:location => @activifase }
      else
        format.html { render :action => "new" }
        format.xml  { render :xml => @activifase.errors, :status =>
:unprocessable_entity }
      end
    end
  end


He hecho de todo pero no le esta colocando valores a los atributos
proyecto_id y fase_id al objeto activifases.

Por favor si me pueden ayudar, mil gracias
This topic is locked and can not be replied to.