Это потому, что :remove_whitespace
должен быть методом экземпляра, а не методом класса.
module SharedMethods
def self.included(base)
base.send :include, InstanceMethods
end
module InstanceMethods
# Remove white space from end of strings
def remove_whitespace
self.attributes.each do |key,value|
if value.kind_of(String) && !value.blank?
write_attribute key, value.strip
end
end
end
end
end
Если вам не нужен модуль для предоставления методов класса и экземпляра, вы также можете пропустить использование self.included и упростить свой модуль следующим образом:
module SharedMethods
# Remove white space from end of strings
def remove_whitespace
self.attributes.each do |key,value|
if value.kind_of(String) && !value.blank?
write_attribute key, value.strip
end
end
end
end