I am generating a URL for use with GoogleCheckout. I have a method in a model that uses the visitors shopping cart to construct an xml request to GoogleCheckout, in that request i need to include a callback url that GoogleCheckout can use to contact my webapp.
On Aug 16, 11:07 am, Matt Jones <[email protected]> wrote: > As in many cases, if it's difficult to do in Rails, it's probably > wrong. Can you give more detail on why you're generating URLs in a > model rather than in the controller/view that's sending them to the > user? > > --Matt Jones > > On Aug 15, 9:22 am, "[email protected]" <[email protected]> wrote: > > > This only works for instance methods, my problem is that I need to be > > able to access xxxx_path from a class method... meaning: > > > class Foo > > include ActionController::UrlWriter > > def self.generate > > login_path :host => 'example.com' > > end > > end > > ActionController::Routing::Routes.named_routes.install(Foo) > > > Foo.generate > > #=> NameError: undefined local variable or method `login_path' for > > Foo:Class > > from (irb):4:in `generate' > > from (irb):9 > > > On Aug 15, 9:14 am, Frederick Cheung <[email protected]> > > wrote: > > > > On Aug 15, 1:52 pm, "[email protected]" <[email protected]> wrote: > > > > > So i've been banging my head against this for the better part of the > > > > last 5 hours and I have concluded that in my sleep deprived state I'm > > > > missing something really obvious and should just ask for help. > > > > > I need to be able to access named route helpers (XXX_path and XXX_URL) > > > > form a class method in an ActiveRecord model. I tried a couple of > > > > approaches none of which worked: > > > > > 1) include ActionController::UrlWriter in the model class -- this > > > > doesn't work because the included methods are instance methods and > > > > thus are not available in the class methods > > > > > 2) According to the rails api you can access the helpers by using > > > > ActionController::UrlWriter.xxx_path (http://api.rubyonrails.org/ > > > > classes/ActionController/UrlWriter.html). However that just doesn't > > > > work for me, I get the following error > > > > > NoMethodError: undefined method `xxx_path' for > > > > ActionController::UrlWriter:Module > > > > > If anyone has ANY ideas PLEASE let me know. > > > > The helpers are defined in an anonymous module hidden inside the > > > routing stuff. You can ask rails to include that module in a class for > > > you, eg > > > > class Foo > > > include ActionController::UrlWriter > > > def generate > > > parent_categories_url :host => 'example.com' > > > end > > > end > > > ActionController::Routing::Routes.named_routes.install(Foo) > > > > Foo.new.generate #=> "http://example.com/admin/parent_categories" > > > > Fred --~--~---------~--~----~------------~-------~--~----~ 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 [email protected] 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 -~----------~----~----~----~------~----~------~--~---

