Esto ya es excesivo!!! muchísimas gracias Damián,
seguiré tus consejos. La verdad es que es una parte que tenía parada,
esperando tener un ratillo para cogerlo con ganas… Ya sabes, las
chapuzillas de novata.
---------------------------- Mensaje original
Asunto: Re: [Ror-es] [Fwd: Re: Problema con save]
De: “Damian J.” [email protected]
Fecha: Mar, 29 de Mayo de 2007, 3:41 pm
Para: “La lista sobre Ruby On Rails (rubyonrails.com) en castellano”
[email protected]
On 5/29/07, [email protected] [email protected] wrote:
Pues que funciona genial!!!
Lo que no entiendo es porque no me daba problemas en el proyecto que
había hecho de prueba… Además, creo que cuando lo implementé en su
día, no sé porqué me pareció necesaría esa línea. En fin, vamos
aprendiendo poco a poco.
Muchísimas gracias, de verdad
Ana
Si todo anda, buenísimo
Ya que estamos, te paso un mini-refactor de tu clase Contrato (sobre
todo
por la parte del File.open!)
Veo que lo que querés es implementar un template en el cual se
reemplazan variables. Para esto podrías usar ERb [1], es muy fácil.
[1] http://www.ruby-doc.org/stdlib/libdoc/erb/rdoc/classes/ERB.html
class Contrato < ActiveRecord::Base
belongs_to :inmueble
belongs_to :cliente
before_create :sustituir_datos
def clientes
inmueble.clientes if inmueble
end
protected
def sustituir_datos
FileUtils.cp(ruta(‘Base’), ruta) unless File.exist?(ruta)
texto = File.read(ruta)
File.open(nuevo,‘w+’) do |file|
file.write(texto.sub(‘CLIENTE’, cliente.nombre))
end
self.documento = ruta
end
def ruta(base = nil)
File.join(RAILS_ROOT, “contratos/contrato#{base ||
inmueble.nombre}.txt”
end
end
Ror-es mailing list
[email protected]