CFWheels에서 flash()
을 사용하는 것은 간단 합니다만, 단순한 하나 이상의 메시지를 삽입해야하는 시점에 있습니다. 3 flashInsert()
전화를 걸면 마지막 하나만 flash()
의 출력에 표시됩니다. A와 CFWheels에서 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);
}
이 방법은, 내가 할 수있는 다음 루프는 객체의 배열로 플래시() ...에 액세스하는 메시지를 입력 키의에 마다.
하지만 아시죠? 이것은 더러운 느낌! 그리고 내가 이것을 필요로하는 모든 행동에 대해 반복하는 것은이 거룩한 DRY 원리를 깨고있는 것처럼 보입니다.
나는 플래시에 관해서 내가 할 수있는 많은 관련 기능을 살펴 봤지만,이 출력을 얻는 것은 아무것도 없다.
나는이 메시지 객체에서 원하는만큼의 키를 지정하는 것이 유익합니다 ... 출력 HTML에 도움이 될 수있어서 좋았습니다.
이 질문에 감사드립니다.
Mikey.
플래시가 기본 메시징을위한 매우 중요하지만, 사용자 입력을 기반으로 몇 가지를 발생시키는 더 복잡한 컨트롤러와 함께, 몇 가지 메시지를 동적으로 배치가 좋을 것입니다. 그때 나는 것 메시지를 반복 할 수 있어야합니다. 나는 위에 게시 할 수있는 해결 방법을 가지고 있지만 ... 여전히 조금 더럽다.내 루프에서는 키 이름을 추측하고 싶지 않습니다. 루프를 반복하여두고 싶습니다. –
나는 내 자신의 답을 제출했다. - 한 번 봐봐. –
'flashMessages'는 당신이 찾고있는 것을 수행합니다. 그걸 들여다 봤니? http://cfwheels.org/docs/1-1/function/flashmessages 첫 번째 인수는 선택 사항입니다. –