The problem here is that the "normal" XYZ in xyz.rb is never loaded so you're trying to call Object's initialize, which does not take 2 arguments
Fred Sent from my iPhone On 23 Nov 2008, at 18:52, Alex Sonar <[EMAIL PROTECTED] s.net> wrote: > > Greetings. > > I've got very strange behavior of alias_method_chains, and I hope > someone will advise me. > > I have a rails 2.2.2 app created with > #rails aliasApp > > , a class XYZ residing in app/helpers/xyz.rb: > > <code> > class XYZ > > attr_accessor :name > attr_accessor :value > > def initialize (a, b) > puts "in XYZ constructor" > self.name = a > self.value = b > end > > def a > puts self.name > end > > def b > puts self.value > end > end > </code> > > , and an extended class XYZ in app/views/xyz_ext.rb > > <code> > class XYZ > def initialize_with_extension a,b > puts "before chain" > initialize_without_extension a,b > puts "after chain" > end > alias_method_chain :initialize, :extension > end > </code> > > So basically what I expect to have three lines in the console when > creating XYZ: > 1) before chain > 2) in Alias constructor > 3) after chain > > BUT I get something really different! > > silencio:alias u2$ script/console > Loading development environment (Rails 2.2.2) >>> require 'app/views/xyz_ext.rb' > => ["XYZ"] >>> XYZ.new 1,3 > before chain > ArgumentError: wrong number of arguments (2 for 0) > from ./app/views/xyz_ext.rb:4:in `initialize_without_extension' > from ./app/views/xyz_ext.rb:4:in `initialize' > from (irb):3:in `new' > from (irb):3 >>> > > Any ideas on this error would be very appreciated! > Alex > -- > Posted via http://www.ruby-forum.com/. > > > --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to rubyonrails-talk@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en -~----------~----~----~----~------~----~------~--~---