Использование flash()
в CFWheels довольно прямолинейно, но я нахожусь в точке, когда мне нужно вставить больше, чем одно простое сообщение. Если я сделаю 3 вызова flashInsert()
, только последний будет показан в выводе flash()
.
В качестве обходного пути я придумал следующее:
public void function index() {
local.messages = [];
arrayAppend(local.messages, { message="Test message 1.", type="ok" } );
arrayAppend(local.messages, { message="Test message 2.", type="ok" } );
arrayAppend(local.messages, { message="Test message 3.", type="ok" } );
flashInsert( local.messages );
WriteDump(var=flash(), abort=true);
}
Таким образом, я могу затем зациклить flash() как массив в своем объекте... получая доступ к сообщению и набирая ключ для каждого.
Но вы знаете, что? Это кажется грязным! И, повторяя это для каждого действия, в котором мне это нужно, кажется, что я нарушаю этот святой СУХОЙ принцип.
Я просмотрел как можно больше связанных функций, связанных со вспышкой, но, похоже, ничего не дает такого результата.
У меня также есть преимущество в том, что я указываю столько ключей, сколько хочу, в этом объекте сообщения... что приятно, так как это может помочь с выходным HTML.
Буду признателен за ваши мысли по этому поводу...
Майки.