저는 모델 내에서 다양한 값을 간단한 TRUE 또는 FALSE로 가져 오는 수많은 계산을 처리하고 있습니다. 문제는,이 계산은 꽤 강렬한 것이며, 나는 오랫동안 SQL 문을 따르기가 어렵다는 것을 원하지 않는다. 차라리 모델을 레코드를 반환 할 때 확인할 수있는 메서드 내에서 전체 계산을 할 수 있습니다.레일 3, 모델 방법/계산 된 속성
나는 이것을 달성하기 위해 여러 가지 방법을 시도해 보았고, 다른 비슷한 업적을 찾았을 때 다른 사람들은 나를 좋아하는 newb를 SQL로 푸시했다. 대부분의 목적에 도움이 될지 모르겠지만 수행되는 계산이 다소 모델 외부에 있기 때문에 제공하지 못한다. .
는모델 :
class Quality < ActiveRecord::Base
...
def passed_inspection
[code that calculates based on values in model]
end
컨트롤러 :
@records = Quality.where('passed_inspection = true')
보기 : 그것은 당신의 문제에 대한 해결책 같은 소리
Did pass inspection?: <%= record.passed_inspection %>
을 고정? – ScottJShea
도움이 필요한 문제는 무엇입니까? 긴 SQL 문을 사용하지 않으려면 모델의 메소드를 사용하십시오. 모델의 클래스에 계산 코드를 넣고 싶지 않으면 모델을 입력 받아 TRUE 또는 FALSE를 반환하는 컨트롤러 도우미 메서드를 만듭니다. –
@MatteoMelani 이미보기 도우미로 표시된 계산이 있지만 통과/실패를 기준으로 레코드를 가져와야합니다. 예를 들어, 실패한 레코드 만 테이블로 출력하는 뷰가 있습니다. – Nick