Я строю драгоценный камень в Rails, который является простым интерфейсом администратора. У меня есть опыт создания приложений с рельсами, но это первый раз, когда я разрабатываю драгоценный камень, и у меня есть проблема с концепцией создания методов в моей неотъемлемой части внутренних частей рельсов.Добавление настраиваемых методов в Rails 4 MVC
Например, я хочу, чтобы мои три метода, которые являются частью моего драгоценного камня, доступны через приложение rails. Эти методы являются: my_controller_method, my_model_method, my_view_method
# lib/my_gem/view_helpers.rb
module MyGem
module ViewHelpers
def my_view_method(data)
# super mega stuff
end
end
end
# lib/my_gem/active_record.rb
module MyGem
module ActiveRecord
def my_model_method(data)
# super mega stuff
end
end
end
# lib/my_gem/controller_additions.rb
module MyGem
module ControllerAdditions
def my_controller_method(data)
# super mega stuff
end
end
end
Так я хочу, чтобы эти методы доступны в моих рельсах MVC архитектуры. Например
#app/models/institution.rb
class Institution < ActiveRecord::Base
validates_presence_of :contact_person, :phone_number, :email
my_model_method :some_data
end
#app/controllers/institutions_controller.rb
class InstitutionsController < ApplicationController
my_controller_method :some_data
end
#app/views/institutions/index.html
<h1></h1>
<%= my_view_method(some_data) %>
Так что же лучший способ добавить методы из моего драгоценного камня в рельсы MVC?
Добавлена ссылка на связанное сообщение в блоге. –
Была небольшая проблема, необходимая для изменения include/extend. Модуль ViewHelper был включен, модули ActiveRecord и ControllerAdditions, где они расширены. И тогда это сработало: D –
Извините, просто опечатка, я исправлю –