Удаление дублированного кода в двух 'render: update do | page |' блоки - PullRequest
0 голосов
/ 27 января 2012

В контроллере 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.

Любые идеи о том, как я могу высушить этот код?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...