name, rating1, rating2 및 rating3을 포함해야하는 html 테이블을 작성 중입니다. 등급 1-3은 이름이 아닌 다른 모델에서 제공됩니다.레일 3은 모두 nil 값을 무시합니다.
resources :names do
resource :rat1,:rat2,:rat3
end
내 HTML 테이블의 내부 나는이 각 테이블 내에서 등급을 포함하고 싶지만 나는 자동으로 건너 또는 전무 테이블을 무시하고 싶습니다. 그 이유는 다음과 같습니다. 이름은 : rat1 및 a : rat2 또는 : rat3 만 가질 수 있습니다. 내 견해가 이렇게 보일 것입니다. 그 중 하나.) N/A로 값을 대체합니다 또는 b.)는이 필드를 비워하고 다음에 이동 전무 것을 제외하고
<table>
<thead>Name</thead>
<thead>Rating 1</thead>
<thead>Rating 2</thead>
<thead>Rating 3</thead>
<% @names.each do |name| %>
<tr>
<td><%= name.nametext %></td>
<td><%= name.rat1.rating %></td>
<td><%= name.rat2.rating %></td>
<td><%= name.rat3.rating %></td>
</tr>
<% end %>
</table>
는 name.rat1 인 경우.
가장 손쉬운 방법은 무엇입니까?
:: UPDATE :
그래서 내 문제는 name.rat1이 전무하고 name.rat1.rating이 같은 정의되지 않은 방법을 던질 것이다 이러한 옵션을 모두 그래서 전무 클래스의 정의되지 않은 방법이다 |에 관계없이 nil 클래스 오류가 발생했습니다. 또는 도우미 방법. 적어도 내 현재 테스트가 보여주는 것. 다른 옵션은 없습니까? 또는 다른 해결 방법? 나는 모든 rat1-3에 대해 이와 같은 검증 루프를 넣지 않아야한다.
<% unless name.rat1.nil? %>
<%= name.rat1.rating %>
<% end %>
더 간단한 방법이 있어야한다.
도움을 주셔서 감사합니다. 참으로 구조는 올바르게 행해지 지 않았습니다. 실제로 내 코드의 일부가 아닙니다. 나는 단순화 된 예제를 원했다. 함께 버려졌습니다. – capcode01
감사합니다. 나는 당신이 알고있을 수 있도록 그것을 지적하고 싶었습니다. :) –