2012-12-16 10 views
1

나는 Rails에 초보자입니다.값이 0 일 때 뷰를 어떻게 디자인 할 수 있습니까?

지금까지 모델, 컨트롤러, 뷰 및 라우팅을 만드는 방법을 알아 냈습니다.

내가 직면 한 문제는 값이 0 일 때보기에서 코드를 디자인하는 방법입니다.
분명히 reffered 값이 nil이면 백 오류가 발생합니다.

지금은 각 부분에서 오류를 피하기 위해 코딩하고 있습니다.
정상적으로 할 일입니까?

특히, 논리적 삭제를 위해 acts_as_paranoid를 사용하고 있습니다.
대부분의 경우 이러한 종류의 문제가 내 레일 앱에서 발생합니다.

<% if @messages.sender %> 
    <%= @messages.sender.user_profile.nickname %> (<%= @messages.sender.username %>) 
    <% else %> 
    Resigned User! 
    <% end %> 

답변

2

도우미 방법을 쓰면 코드 중복을 피할 수 있습니다. 도우미에서

:보기에서

def sender_name(msg) 
    if msg.sender 
    "#{msg.sender.user_profile.nickname} (#{msg.sender.username})" 
    else 
    "Resigned User!" 
    end 
end 

: 작동 <%= sender_name(@message) %>

+0

, 감사합니다! – HUSTEN

관련 문제