Есть ли лучший способ передачи параметров смешанным методам?
Класс, использующий mixin, может устанавливать переменные экземпляра, которые ожидают смешанные методы, или он может передавать все необходимые параметры в качестве аргументов смешанным методам.
Предпосылкой для этого является то, что у нас есть контроллер Rails, который выполняет публикацию контента, но другие контроллеры и даже модели должны иметь возможность «выступать в качестве публикаторов», поэтому я превращаю методы контроллеров в модуль, который я ' я буду смешивать по мере необходимости.
Вот, например, код из Rails Controller, который должен «выступать в роли издателя» и вызывать смешанный метод question_xhtml () ...
def preview
@person = Person.find params[:id]
@group = Group.find params[:parent_id]
@div = Division.find params[:div_id]
@format = 'xhtml'
@current_login = current_login
xhtml = person_xhtml() # CALL TO MIXED-IN METHOD
render :layout => false
end
В конечном счете, question_xhtml нуждается во всем этом! Является ли этот подход разумным, или было бы лучше сделать
def preview
person = Person.find params[:id]
group = Group.find params[:parent_id]
div = Division.find params[:div_id]
format = 'xhtml'
xhtml = person_xhtml(person, group, div, format) # CALL TO MIXED-IN METHOD
render :layout => false
end
... или что-то еще?