Эта строка в вашем файле rout.rb
map.connect 'clients/:id', :controller => 'client', :action => 'show'
подразумевает, что, когда диспетчер получает URI в формате «clients / abcdxyz» с методом GET, он перенаправляет его для отображения метода со значением"abcdxyz" доступен в хэше params с ключом: id.
EDIT
Поскольку вы использовали скаффолд, ресурс клиентов будет RESTful. Это означает, что при отправке запроса GETна "/ clients /: id 'URI, вы будете перенаправлены на отображение страницы этого конкретного клиента.
В коде вашего контроллера вы можете получить к нему доступ как
params[:id] # which will be "abcdxyz"
метод find, сгенерированный поиском скаффолда по первичному ключу, т.е. столбцу id.Вам нужно изменить это утверждение на
@client = Client.find_by_ip_address(params[:id]) #find_by_column_name
ИЛИ
@client = Client.find(:first, :conditions => [":ip_address = ?", params[:id]])
: -)