maggior parte delle volte non ho mai banco di prova per la singolarità o plurale, ho appena convertito alla forma singolare o plurale ho bisogno.
In Rails 2.3.x questo era possibile, scrivendo qualcosa di simile
plural_form = org_word.singularize.pluralize
singular_form = org_word.pluralize.singularize
Lavorare ulteriormente su questo, una funzione di lavoro è facile da fornire:
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
che ha pronunciato la seguente output:
word : true
words : false
rail : true
rails : false
dress : true
dresses : false
In Rails 4, con le parole fornite, ora è molto più semplice. Si può solo fare
plural_form = org_word.pluralize
singular_form = org_word.singularize
e quindi la funzione diventa molto più facile così:
require 'active_support'
def is_singular?(str)
str.singularize == str
end
Il problema "dress" .singularize è stato risolto qui: https: //rails.lighthouseapp.com/projects/8994/tickets/2399-incorrect-inflectors-for-business-or-ness # ticket-2399-5 – kikito