I got it working and here's my revised method syntax for Athlete.all. Basically, the athletes API response array needs to be walked a bit deeper than the headlines api.
class Athlete
include HTTParty
base_uri 'http://api.espn.com/v1/sports'
def self.all
response = Athlete.get('/football/nfl/athletes',
:query => { :apikey => 'my_api_key_from_espn' })
response['sports'].first['leagues'].first['athletes']
end
end
For good measure, here's my app/views/athletes/index.html.erb syntax:
<ul id="athletes">
<% @athletes.each do |item| %>
<li class="item"><%= link_to item["displayName"], item["links"]["web"]["athletes"]["href"] %></li>
<% end %>
</ul>
(Special thanks to @ivanoats and of course @deefour on this.)