在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上下文中。
关于如何干掉这段代码的任何想法?