поэтому у меня есть метод просмотра в нескольких контроллерах, который в основном выглядит точно так же:
def show
show! do |format|
format.json do
if @text.activated?
@text.log
render_for_api :texts_all, :json => @text
else
render :nothing => true
end
end
format.pdf do
pdf = QrPdf.new(@text)
send_data pdf.render, filename: "text_#{@text.id}.pdf", type: "application/pdf"
end
end
end
модели для этого разные, но все они имеют одни и те же атрибуты, которые используются в этом методе (activated
, log
, id
). я также мог бы изменить данный хэш render_for_api
, из которого в настоящее время texts_all
, documents_all
и т. д., на хеш, который везде одинаков.
есть ли способ использовать этот код в нескольких моделях без такого огромного дублирования?
я благодарен за каждую подсказку! особенно мне трудно иметь дело с блоком do |format|
. но также я не уверен, куда поместить код и как его использовать с разными типами моделей.
благодарю вас.