Можете ли вы привести пример повторения, которое вы видите?
Вы всегда можете сделать что-то вроде этого:
respond_to do |do|
format.html { common_stuff }
format.mobile { common_stuff }
format.xml { common_stuff }
...
end
protected
def common_stuff
...
end
Я думаю, что-то подобное может быть реорганизовано в (Iвозможно, я ошибся, поскольку я всегда забывал, как использовать метод в качестве блока:
[:html, :mobile, :xml].each { |f| format.send(:f, lambda{ common_stuff }) }
Сказав это, я думаю, что вам лучше с первым, поскольку он более явный.