2011-05-16 63 views
0

我想知道如何將@current_day和@has_day傳遞給我的視圖?如何從before_filter傳遞變量以查看

class PostController < ApplicationController 
    before_filter :detect_current_day 

    def index 
    #some logic 
    end 

private 

def detect_current_day 
    if (params[:year] && params[:month] && params[:day]) 
     @current_day = Date.parse params.values_at(:year, :month, :day).join('.') 
    else 
     @current_day = Date.today; 
    end 

    # Check if day already exist 
    @hasToday = Post.created_on(@current_day).count > 0 ? true : false; 
    end 

end 

感謝

+0

應該沒有什麼更多的,你已經做過:你設置實例變量,這就夠了。你的錯誤是什麼? – apneadiving 2011-05-16 06:00:46

+0

請注意,您在某處存在拼寫錯誤。你的問題提到'@ has_day',但你的代碼顯示'@ hasToday'。 – mbreining 2011-05-16 06:11:25

回答

1

您已經正確,但你期待錯誤的實例變量。你定義了@current_day和@hasToday。你會得到它view.if你想@ has_day.please在你之前,過濾器初始化

@has_day = Post.created_on(@current_day).count > 0 ? true : false; 
0

我沒有看到任何你的代碼錯誤,但你@current_day是日期格式,如果你想要在您的視圖中打印出來,您需要將其轉換爲:

<%= @current_day.strftime("%Y %m %d") %>