Я думаю, это зависит от того, почему вы хотите «проверить» битые ссылки.
Сценарий 1) Для обеспечения правильности введенных пользователями URL-адресов может использоваться такой метод:
def active_link?(url)
uri = URI.parse(url)
response = nil
Net::HTTP.start(uri.host, uri.port) { |http|
response = http.head(uri.path.size > 0 ? uri.path : "/")
}
return response.code == "200"
end
Затем вы можете использовать это в своих тестах Rspec:
active_link?('http://example.com').should be
Сценарий 2) Вы просто хотите убедиться, что все ссылки на вашем сайте работают:
Если это так, вы можете попробовать использовать Unix команду wget:
wget --spider -r -l 1 --header='User-Agent: Mozilla/5.0' http://example.com 2>&1 | grep -B 2 '404'
Сценарий 2 выводит все 404 на экран вашего терминала. Относительно просто ввести это в команду rake; У Джейсона Сейфера есть отличная запись в блоге об этом (http://jasonseifer.com/2010/04/06/rake-tutorial)