I have some code that I was duplicating across applications so I made it an engine. The engine works fine but the only problem is when I raise an error in the before_destroy method in my model (the model is not in the engine). Based on the example code below; if I have this code in a controller that is not in a engine I will get the following error: "Fee type is in use" Which is exactly what I want. However, if I have that exact same code in my engine I get the full path to the file that raised the error plus the error message "Fee type is in use". "/Users/weshays/temp/myapp/config/../app/models/fee_type.rb:6:in `before_destroy': Fee type is in use" I cannot figure out how to only get the error message without the other stuff (path and method) as this could be a possible security risk. I have tried the different options for the raise method but with no luck. I am using Ruby 1.8.5 and Rails version 1.2.3. The following sample code is what's in question. ---------------------------------- *** Model *** ... has_many :ga_locations def before_destroy raise 'Fee type is in use' if self.ga_locations.count > 0 end ... *** Controller *** ... begin item.destroy rescue Exception => err flash[:error] = err.message end ... ---------------------------------- Any help on this would be appreciated. -Wes -- James "Wes" Hays Great Basin Development P.O.Box 3503, Reno, Nevada 89505 http://www.gbdev.com
on 2007-03-27 08:05
Please log in before posting. Registration is free and takes only a minute.
Existing account
(Switch to SSL-encrypted connection)
NEW: Do you have a Google/GoogleMail or Yahoo account? No registration required!
Log in with Google account | Log in with Yahoo account
Log in with Google account | Log in with Yahoo account
No account? Register here.