Если я правильно понимаю, вам нужна только строка, где цифрам предшествует .
. Если это так, вам нужно изменить свое регулярное выражение на /\.\d+/
@person = Person.new
personname=params['personname']
if personname.match("/\.\d+/")
@person.person_name = personname
@person.save
result = 'true'
end
Но это звучит как логика, с которой вы должны работать в модели, поскольку она помечена как рельсы, а не как обычный старый рубин
Контроллер
class PersonController
def create
if @person = Person.create(params)
result = 'true'
else
result = 'false'
end
# whatever you doing with result
end
end
person.rb
class Person < ApplicationRecord
validates :personname, format: { with: /\.\d+\./, message: 'must include digits' }
end
Вы можете играть с регулярным выражением @ rubular