값이 업데이트되지 않는 뷰에서 변수에 문제가 있습니다. 이보기에서 사용되는 모든 값은 @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)
알 수없는 범위가 결과를 얻는데 방해가되지 않습니까? – Sanjiv
스코프를 추가 했으므로 괜찮습니다. – pkoltermann
사용중인 루비와 레일의 버전은 무엇입니까? – Sanjiv