Проблема в том, что Rails не знает, что множественное число Sms - это Smses. Если вы перейдете на консоль Rails, вы должны увидеть, что:
> "Sms".pluralize
=> "Sms"
> "Smses".singularize
=> "Smse"
Когда он сталкивается с множественным числом, которое он не распознает, Singularize просто усекает последние "s", поэтому ваше приложение ищет несуществующую модель Smse.
Вы избавите себя от множества головных болей, настроив Rails для правильной множественной / сингулярной модели. В файле config \ initializer \ inflections.rb вы найдете несколько примеров того, как это сделать. То, что вы хотите:
ActiveSupport::Inflector.inflections do |inflect|
inflect.irregular 'sms', 'smses'
end
Тогда я не думаю, что вам вообще нужно включать опцию по умолчанию - все должно работать "из коробки".