Вы попробовали val?
$("textarea#ExampleMessage").val(result.exampleMessage);
Мне кажется, что это лучше всего сделать с помощью рекурсии
Вот код:
def using_resources(*res, &block)
first_resource = res.shift
if res.length > 0
first_resource.run do
using_resources(*res, &block)
end
else
first_resource.run do
block.call
end
end
end
И используйте его так:
using_resources Resource.new('/tmp'), Resource.new('http://stackoverflow.com') do
do_some_processing
end
Вы действительно говорите, "который принимает массив ресурсов ". Если у вас уже есть массив
и вам нужно его использовать, вы можете разместить массив
вне вызова:
using_resources *my_array do
do_some_processing
end
или внутри определения метода, что позволяет вам вызывать его либо с массивом
или списком ресурсов
s:
def using_resources(*res, &block)
res = [*res]
# rest as above
end
Вы также можете сделать это с помощью #inject
:
def using_resources(*resources, &block)
(resources.inject(block){ |inner,resource| proc { resource.run(&inner) } })[]
end
По мере того, как вы проходите по массиву, вы оборачиваете каждый вызов ресурса предыдущей процедуры в новую процедуру, а затем передать это следующему ресурсу. Блокировки будут в обратном порядке (последний указанный ресурс будет разблокирован первым), но это можно изменить, используя resources.reverse.inject ...