2015-01-21 3 views
0

값이 업데이트되지 않는 뷰에서 변수에 문제가 있습니다. 이보기에서 사용되는 모든 값은 @last_leads이지만 캐시를 재생성 할 때까지 동일한 값을 유지합니다 (필자의 경우 capistrano를 사용하여 배포한다는 의미입니다). @last_leads을 올바르게 새로 고칩니다.haml이 Rails에서 변수 값을 변경하지 않는 이유

보기에 cache 태그가 없습니다.

아이디어가 있으십니까?

컨트롤러 :

class SomeClass 
    def show 
     lead_scope = current_provider.leads 
     @today_leads = lead_scope.today 
     @yesterday_leads = lead_scope.yesterday 
     @earlier_this_week_leads = lead_scope.earlier_this_week 
     @current_week_leads = lead_scope.current_week 
     @previous_week_leads = lead_scope.previous_week 
     @last_leads = lead_scope.last_ordered 
    end 
    end 

보기 : 여기

%h1 Dashboard 
    .box.emphasised.clearfix 

    .number-info.width-100 
     .value= @today_leads.count 
     Today 

    .number-info.width-100 
     .value= @yesterday_leads.count 
     Yesterday 

    .number-info.width-100 
     .value= @current_week_leads.count 
     This week 

    .number-info.width-100 
     .value= @previous_week_leads.count 
     Previous week 

    .box.emphasised.clearfix 
     %table.generic-table.coloured.leads-list 
     [email protected]_leads.each do |lead| 
      %tr 
      %td.centered= lead.created_at.to_s :short_db 
      %td.cell-width-20= lead.service_choice.service.name 
      %td.centered.cell-width-20= lead.phone 

이있는 범위 :

scope :today, where("leads.created_at > ?", Time.now.beginning_of_day) 
    scope :yesterday, where("leads.created_at between ? AND ?", 1.day.ago.beginning_of_day, Time.now.beginning_of_day) 
    scope :earlier_this_week, where("leads.updated_at between ? AND ?", Time.now.beginning_of_week, 1.day.ago.beginning_of_day) 
    scope :current_week, where("leads.created_at between ? AND ?", Time.now.beginning_of_week, Time.now.end_of_week) 
    scope :previous_week, where("leads.created_at between ? AND ?", 1.week.ago.beginning_of_week, 1.week.ago.end_of_week) 
    scope :last_ordered, order("leads.created_at DESC").limit(5) 
+0

알 수없는 범위가 결과를 얻는데 방해가되지 않습니까? – Sanjiv

+0

스코프를 추가 했으므로 괜찮습니다. – pkoltermann

+0

사용중인 루비와 레일의 버전은 무엇입니까? – Sanjiv

답변

1
그렇게 만든 람다없이, 그것은 해결 될 것입니다 읽어 번 모델은 평가받을

결코 변하지 않을 것입니다. 그러나 lambda를 사용하면 런타임에서 업데이트 된 값을 결과로 결정합니다.

+0

작동하는 것 같습니다. 감사! – pkoltermann

관련 문제