Самый простой способ реализовать эту концепцию выхода, чтобы разрешить правильный захват любого содержимого, это:
= allowed? do
- capture_haml do
= link_to('New', new_video_path)
В вашем случае, однако, почему бы просто не написать другой вспомогательный метод?
def allowed_link_to(*args, &block)
opts = args.extract_options!
if allowed? args.last
link_to args.push(opts), &block
else
''
end
end
И используйте это так:
= allowed_link_to('New', new_video_path)