0

'레일리스 3.1'과 같이 제한된 '작가'가 게시물을 쓸 수있는 웹 사이트를 개발 중입니다. '중재자'는 게시물을 수락 (또는 거부)하고 게시 일정을 잡아야합니다. 이 순간까지는 개발 프로세스가 꽤 기본입니다.레일 3 블로그에서 게시물 게시 일정을 예약하십시오

매일 두 개의 게시 순간이 있습니다. 수락 된 게시물은 일종의 대기열에 배치됩니다. 매일 오전 10 시부 터 오후 4 시까 지 가장 오래된 수락 된 게시물을 게시해야합니다. 하지만 ** 게시가 진행되는 날짜와 시간을 수동으로 ** 설정할 수도 있어야합니다.

결과를 얻는 가장 좋은 방법은 무엇입니까? 크론? 배경 직업?

답변

1

그래서 ...

1)는 수동으로 설정할 수 있습니다 accepted_at 필드를 가지고; 그것은 '살아야 할 때'입니다.

3)

class Post 
    scope :ready_to_be_published, lambda{ where(['accepted_at<? and not published', Time.zone.now]).order('accepted_at ASC') } 

    def accept!(time_to_go_live = nil) 
    update_attributes!(:accepted_at => time_to_go_live || Time.zone.now) 
    end 
end 
)

2는 레이크 작업

task :publish_a_post => :environment do 
    Post.ready_to_be_published.first.update_attributes!(:published => true) 
end 
+0

를 실행 오전 10시에서 오후 4시에 whenever 직업을 가지고 또는 당신은 go_live_at' 필드 별도의'accepted_at'과 '할 수 있기 때문에 실제 수용 시간도 기록됩니다. –

+0

와아! 감사! 단순하다면 최선을 다할 것입니다. – Ivan