2014-11-06 1 views
0

다음 코드를 사용하여 연락처 이름과 메시지 링크를 표시하고 있습니다. 연락처가 목록에서 삭제되는 경우조건이있는 link_to 사용

<%= link_to message.contact.try(:name), message_path(message) %> 

, 나는 "연락처 삭제"및 링크 대신 URL을 보여주는 메시지에 같은 자리를 보여 드리고자합니다. link_to_if을 시도했지만 예상 출력을 제공하지 않았습니다. 이에 대한 효과적인 해결책이 있습니까?

+0

첫 번째 매개 변수에 3 자 연산자를 사용하여 링크 텍스트를 변경할 수 있습니다. –

+0

@PaulRichter 예, 저는 이것을 시도했지만 link_to를 사용할 때 구문을 조용하게 할 수 없었습니다. – user3224820

답변

1

링크 이름이 같으면 link_to_if을 사용할 수 있습니다. 또한 해결 방법과 함께 사용할 수도 있습니다.

<%= link_to_if message.contact, message.contact ? message.contact.name : "Contact deleted", message_path(message) %> 

그러나 가장 깨끗한 접근 방식은 if입니다.

+0

두 번째 제안을 사용할 때 정의되지 않은 메소드'contact? '오류가 발생합니다. – user3224820

+0

나는 그것이 협회의 일부라고 생각했다. 간단히 그 존재를 확인하십시오. 덕분에 –

+0

. 이제 작동합니다! – user3224820