В контроллере rails у меня есть два обновления с похожим 'render: update do | page |'блоки.Два блока не совсем одинаковы, поэтому я хотел бы извлечь дублированный код следующим образом:
def render_1
render :update do |page|
shared_update_code(page)
page.replace('render_1_specific_id', :partial => 'foo')
end
end
def render_2
render :update do |page|
shared_update_code(page)
page.replace('render_2_specific_id', :partial => 'bar')
end
end
private
def shared_update_code(page)
page.replace('common_id', :partial => 'foobar')
end
Но этот подход не работает.Внутри блока render: update вызовы других методов контроллера завершаются сбоем, так как теперь я нахожусь в контексте ActionView.
Любые идеи о том, как я могу высушить этот код?