ja hallo erstmal,..
ich stehe hier mal wieder vor einem kleinen Anfängerproblem:
In der Anwendung, an der ich arbeite sollen Datumsfelder im europäischen statt
im amerikanischen Format eingegeben werden.
Dazu wollte ich gerne über einen kleinen Codegenerator virtuelle Attribute
einbauen - der dann aus dem Model aufzurufen wäre. (Analog zu attr_accessor)
Der Generator (s.u.) an sich scheint ok und funktioniert ganz passabel (nur
der regexp bock noch ein wenig)
Leider gelingt es mir nich so ganz, dies auch einzubinden.
Mein Ansatz war, die Methode euro_date einfach in den Helper eines Models zu
kopieren, indem ich die Methode anwenden wollte.
Dies warf jedoch einen
undefined method `euro_date' for Event:Class zurück, wenn ich versuche
euro_date analog zu attr_accessor aufzurufen.
Woran könnte dies liegen?
Danke,
Keep smiling
yanosz
class Test
def euro_date(symbol)
self.class.send(:attr_accessor, "#{symbol}_euro" )
self.class.send(:define_method,"#{symbol}_euro=") do |value|
m = /(\d?\d)\.(\d?\d)\.(\d\d\d\d)/.match value
day = m[1]
month = m[2]
month = "0" + month.to_i if m[2].to_i < 10
day = "0" + day.to_i if m[1].to_i < 10
year = m[3]
puts "Setze Variablen: @#{symbol}", "#{year}-#{month}-#{day}
und: @#{symbol}_euro, #{day}.#{month}.#{year}"
instance_variable_set("@#{symbol}", "#{year}-#{month}-#{day}")
instance_variable_set( "@#{symbol}_euro", "#{day}.#{month}.#{year}")
end
end
end
t = Test.new
t.euro_date "some"
t.some_euro = "11.10.1912"
puts "Teste..."
puts t.some_euro
puts t.some
_______________________________________________
rubyonrails-ug mailing list
[email protected]
http://mailman.headflash.com/mailman/listinfo/rubyonrails-ug