2016-10-30 7 views
0

Date.current.year.monthと等しくない場合、条件付きで@future_challengesをトリガする方法は?今年の今月のすべての日付属性がnilの場合、条件付きでトリガする方法はありますか?

コントローラ

@future_challenges = current_user.challenges.unaccomplished.order("deadline ASC").select{ |challenge| challenge.deadline > Date.current if challenge.deadline.present? } 

ビュー

<% if @future_challenges != Date.current.year.month %> # Is giving true even if there are challenges with deadline in current month of this year 
    <div style="margin-top: -4px;"></div> 
<% end %> 
+0

'@ future_challenges'は配列です。ビューのチェックのために '@ future_challenges'をループする必要があります。 – Emu

+0

そのような小さな目的のために@Emuを繰り返しているのではないですか?おそらく、私は 'future_challenges_current_month'のような新しいコントローラメソッドを作成すべきでしょうか? –

+0

あなたの実際の目的は何か分かりません。しかし、コントローラで行ったクエリは配列を返します。現在の月が配列内にあるかどうかを確認するために 'include? 'を使用することができます – Emu

答えて

1

私は、コントローラで、その後誤解していない限りあなたがする必要があるだろう、すべてのようなものです:

@future_challenges = current_user.challenges.where("deadline >= ?", Date.current.at_beginning_of_month) 

と次に表示はエントリ数を確認するだけです:

<% if @future_challenges.empty? %> 
    <div style="margin-top: -4px;"></div> 
<% end %> 
関連する問題