2017-09-09 2 views
-1

を表示するために、デフォルトは現在の月が設定した:「Kickchartの宝石は、」私は月によって私のコントローラのフィルタでこのコードを持ってmomthを選択することにより、毎月のチャートを表示して

@posts = Post.by_month(params[:selected_month])       

今私は、デフォルト値として現在の月を設定する必要がありますnilの場合????

+0

Rubyのデフォルトパラメータに役立ついくつかの回答がStackOverflowにあります:https://stackoverflow.com/search?q=ruby+default+parameter – stealththeninja

答えて

1

私はすでにあなたのモデルでその方法を実装していると思います。

あなたはして現在の月の名前を取得することができますので、あなたのコードで

Date.today.strftime("%B")

month = params[:selected_month] ? params[:selected_month] : Date.today.strftime("%B") 
@posts = Post.by_month(month) 

月名による検索レコードby_monthあなたの方法ならばこれは仕事でなければなりません

月別に検索する方法がDate.today.strftime("%B")の場合はDate.today.strftime("%m")

+0

オスカールーザーありがとう大文字小文字の区別がなく、うまくいきました: if(params [:selected_month])。nil? #posts = Post.by_month(Date.today.strftime( "%mを")) 他 #posts = Post.by_month(のparams [:desierd_month])どういたしまして – neo7

+0

最後は!、私を選択いただき、ありがとうございます正しい答え –

関連する問題