컴puted 프로퍼티는 흥미롭지만, 제가 지금 집중하고 있는 부분과의 연결고리가 잘 보이지 않습니다.
제 예시에서 핵심 프로퍼티는 group.name이며, 템플릿에서 해당 프로퍼티가 "AwesomeName"과 일치하는지 평가하고 싶습니다. 템플릿에서 특정 유형의 {{if}} 문장을 사용해야 한다는 필요성을 어떻게 우회할 수 있는지, 컴puted 프로퍼티가 이를 어떻게 해결해 줄 수 있는지 아직 파악하지 못했습니다.
아직 제대로 작동하게 만들지 못했습니다. 부분적으로는 계산된 프로퍼티(computed properties)를 사용하여 이 유형의 작업을 수행하는 예시를 밖에서 찾지 못해서입니다.
제 경우, 플러그인에서 그룹 인덱스 템플릿을 변경하고 있습니다. 즉, 파일 plugin/assets/javascripts/discourse/groups/index.hbs에서 변경 사항을 수행하고 있습니다(그냥 그룹 인덱스 전체 코드를 거기에 넣고 그 위에 변경 사항을 추가했습니다).
계산된 프로퍼티 js가 제가 만들어야 하는 plugin/assets/javascripts/discourse/groups/index.js라는 파일에 들어가야 한다는 말씀이신가요? 아니면 이니셜라이저(initializer)에 그 코드를 넣어도 되나요?
말씀하신 내용을 구현하기 위해 제가 할 수 있는 최선의 시도는 다음과 같습니다. 이것이 말씀하신 내용인가요:
{{#if property}}
<div>Yep There is a Match!</div>
{{/if}}
아니면 @discourseComputed에 "string1"과 "string2"와 같은 일반적인 값을 그대로 입력하고, 템플릿을 {{#if property group.name "Amazing_Name"}}으로 변경해야 한다는 말씀이신가요? (그렇게 해야만 템플릿에서 각 값이 동적일 수 있도록 처리할 수 있을 것 같습니다.)
사실 나 자신도 이걸 제대로 동작시킨 적이 없어서 결국 다른 방향으로 넘어갔습니다. 보통은 기본적인 코딩 연습으로 끝날 일을 이렇게 오래 매달리는 게 어리석게 느껴졌거든요. 제 경우에는 여기저기 문법 오류가 조금씩 있었던 것 같지만, 제대로 동작하는 완전한 예시를 찾지 못했습니다. if string === string.을 어떻게 구현하는지 완전한 동작 예시도 있다면 정말 감사하겠습니다.