2011-04-28 4 views
1

나는이 질문을해야한다고 믿을 수는 없지만 "그 시절"이었고 나는 전혀 생각할 수 없었다.보기에 사용하기 위해 ActiveRecord 모델 속성 만들기

MySQL 데이터베이스의 데이터를 사용하여 간단한 Rails 앱을 만들고 있습니다. 테이블 중 하나에는 생성 타임 스탬프 (creation_ts)에 대한 열이 있습니다. 내가하고 싶은 것은 각 모델 객체의 일부가되는 모델 속성을 만드는 것입니다. 이 경우, 레코드가 한 달이 넘은 생성 타임 스탬프를 가지고 있다면 "늦은"속성을 true로 설정하고 싶습니다 (그렇지 않은 경우 false). 그런 다음 나중에 HTML 요소 속성을 동적으로 설정할 때 뷰에서이를 사용할 수 있습니다.

다시 알기로,이 사실을 알고 있어야합니다 (실제로는 이 완료되었습니다. 이전에 완료되었습니다). 나는 완전한 공백을 그렸습니다.

답변

2

레일스 3은 'created_at'를 사용하여 첫 번째 저장 날짜를 저장합니다. 모델에서 Model.rb라고 말하면 다음과 같이 정의 된 후기 접근자를 추가 할 수 있습니다.

def late? 
    created_at > 1.month.ago 
end 

true 또는 false를 반환합니다.

는 그런 다음보기에 당신은

<% if @model.late? %> 
    <%= @model.something_to_show %> 
<% end %> 

이안과 같이 할 수 있습니다.

+0

부울 값을 반환하므로 메서드 이름'late? '가 적합합니다. – rubyprince

+0

예, 동의합니까, 늦었습니까? 더 나은. 반영하도록 편집 됨. – ipd

관련 문제