Исключение нулевого указателя генерируется, когда приложение пытается использовать null в случае, когда требуется объект. К ним относятся:
null
. null
. null
, как если бы это был массив. null
, как если бы это был массив. null
как будто это было значение Throwable. Приложения должны бросать экземпляры этого класса, чтобы указать на другие незаконные использования объекта null
.
Ссылка: http://docs.oracle.com/javase/8/docs/api/java/lang/NullPointerException.html
Вы могли pluginize это (использование пишут сценарий/генерируют плагина).
Затем в Вашем init.rb просто делают что-то как:
ActiveRecord::Base.send(:include, PluginName::Sendable)
ActionController::Base.send(:include, PluginName::SendableController)
И наряду с Вашим self.included, который должен работать просто великолепно.
Проверьте некоторые acts_* плагины, это - довольно общий шаблон (http://github.com/technoweenie/acts_as_paranoid/tree/master/init.rb, проверьте строку 30),
Если тот код должен быть добавлен ко всем моделям и всем контроллерам, Вы могли бы всегда делать следующее:
# maybe put this in environment.rb or in your module declaration
class ActiveRecord::Base
include Iso
end
# application.rb
class ApplicationController
include Iso
end
При необходимости в функциях от этого модуля, доступного представлениям Вы могли бы выставить их индивидуально с helper_method
объявления в application.rb.
Если Вы действительно идете сменным путем, действительно проверьте Механизмы направляющих, которые предназначаются для расширения сменной семантики до Контроллеров и Представлений ясным способом.