Я пишу помощник, который добавляет атрибут HTML к тегу link_to в rails. Итак, я считаю, что мой вспомогательный метод должен принимать любые переданные ему параметры или блоки, вызывать ссылку с теми же параметрами, добавлять атрибут к возвращаемому и возвращать результат вызывающему.
Вот так:
def link_to(*args, &block)
... rails code in link_to ...
end
def myhelper(*args, &block) # Notice that at this point, 'args' has already
link_to() # become an array of arguments and 'block' has
... my code ... # already been turned into a Proc.
end
myhelper() # Any arguments or blocks I pass with this call should make
# it all the way through to link_to.
Итак, как вы можете видеть, кажется, что нет способа (который не включает много кода и условного разветвления) передать то, что myhelper получил для link_to, не возвращая все параметры обратно в то, что они выглядели раньше они добрались до моего метода.
Есть ли еще более "рубиноподобное" решение этой проблемы?