Forum: Rails-ES actualizar campoantes del update

Announcement (2017-05-07): www.ruby-forum.com is now read-only since I unfortunately do not have the time to support and maintain the forum any more. Please see rubyonrails.org/community and ruby-lang.org/en/community for other Rails- und Ruby-related community platforms.
80b9be0b3d9c2d5fa3372dff8d457a8e?d=identicon&s=25 Aprendiz_ror Ruby on rails (aprendiz_ror)
on 2009-04-18 14:54
Buenas estimados amigos de la lista.

tengo una pequeña duda para ustedes, para mi es grande.

antes de hacer un update necesito ir a traer un valor de otro modelo y
llevarlo a un campo del modelo que quiero actualizar, luego gurdar los
datos en el modelo.

 def update
    @funcionario = Funcionario.find(params[:id])
    respond_to do |format|
      #antes de hacer esto debo llenar el campo que tengo que traer de
otro modelo
      if @funcionario.update_attributes(params[:funcionario])
        flash[:notice] = 'Funcionario was successfully updated.'
        format.html { redirect_to funcionarios_path }
        format.xml  { head :ok }
      else
        format.html { render :action => "edit" }
        format.xml  { render :xml => @funcionario.errors, :status =>
:unprocessable_entity }
      end
    end
  end

de antemano gracias por la ayuda
Adce10d7f1dbabcdab8f525a59cec32f?d=identicon&s=25 Andrés Gutiérrez (andresgutgon)
on 2009-04-18 16:01
(Received via mailing list)
en el modelo funcionario hacer un metodo que busque el campo en la otra
tabla/modelo y lo guarde en un variable. Este metodo lo invocas en un
before_safe :mimetodo
y luego guardas los datos del modelo funcionario con ese campo ya
sabido.

Esto te lo he explicado a pelo, sin ver si se dice before_safe. Busca
algo
parecido en la API. O espera a una respuesta más afinada

Un saludo

El 18 de abril de 2009 14:54, Aprendiz_ror Ruby on rails <
ruby-forum-incoming@andreas-s.net> escribió:
0e34c56054c414263e933a1b8b3d0d55?d=identicon&s=25 Ruben Davila (rdavila)
on 2009-04-18 17:01
(Received via mailing list)
Tal vez podrias hacer algo asi:

class Funcionario < AR
  before_update :update_model #escoge un buen nombre aqui

  private
    def update_model
      otro_modelo = OtroModelo.find...
      self.attr = otro_modelo.attr
      self.attr = otro_modelo.attr
      ...
    end
end

Si esto no te sirve, seria genial si puedes explicar el contexto de tu
aplicación, derrepente puede haber un problema de diseño por ahi.

Saludos.
80b9be0b3d9c2d5fa3372dff8d457a8e?d=identicon&s=25 Aprendiz_ror Ruby on rails (aprendiz_ror)
on 2009-04-19 17:05
Mil gracias a todos, ya logré solucionarlo.
Adce10d7f1dbabcdab8f525a59cec32f?d=identicon&s=25 Andrés Gutiérrez (andresgutgon)
on 2009-04-19 17:49
(Received via mailing list)
¿cómo?
Este es un detalle que molaría saber.

2009/4/19 Aprendiz_ror Ruby on rails <ruby-forum-incoming@andreas-s.net>
This topic is locked and can not be replied to.