rails path helper not recognized in model

Consider solving this as suggested in the Rails API docs for ActionDispatch::Routing::UrlFor:

# This generates, among other things, the method <tt>users_path</tt>. By default,
# this method is accessible from your controllers, views and mailers. If you need
# to access this auto-generated method from other places (such as a model), then
# you can do that by including Rails.application.routes.url_helpers in your class:
#
#   class User < ActiveRecord::Base
#     include Rails.application.routes.url_helpers
#
#     def base_uri
#       user_path(self)
#     end
#   end
#
#   User.find(1).base_uri # => "/users/1"

In the case of the Team model from the question, try this:

# app/models/team.rb
class Team < ActiveRecord::Base
  include Rails.application.routes.url_helpers

  def base_uri
    team_path(self)
  end
end

Here is an alternative technique which I prefer as it adds fewer methods to the model.

Avoid the include and use url_helpers from the routes object instead:

class Team < ActiveRecord::Base

  delegate :url_helpers, to: 'Rails.application.routes'

  def base_uri
    url_helpers.team_path(self)
  end
end

You should be able to call the url_helpers this way:

Rails.application.routes.url_helpers.team_path(Team.first.id)