В большинстве случаев я никогда не проверяю единственное или множественное число, я просто конвертирую его в единственное или множественное число, которое мне требуется.
В Rails 2.3.x это было возможно, написав что-то вроде этого
plural_form = org_word.singularize.pluralize
singular_form = org_word.pluralize.singularize
Работая над этим, легко реализовать рабочую функцию:
require 'active_support'
def is_singular?(str)
str.pluralize.singularize == str
end
%w(word words rail rails dress dresses).each do |v|
puts "#{v} : #{is_singular?(v)}"
end
, который дает следующий вывод:
word : true
words : false
rail : true
rails : false
dress : true
dresses : false
В Rails 4 , с заданными словами, теперь намного проще. Вы можете просто сделать
plural_form = org_word.pluralize
singular_form = org_word.singularize
и, следовательно, функция становится намного проще:
require 'active_support'
def is_singular?(str)
str.singularize == str
end