質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Ruby on Rails 5

Ruby on Rails 5は、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

Ruby

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

Q&A

解決済

2回答

4646閲覧

【rails】今日以降のdateデータを持つレコードが有るか無いかを取得するには

seen

総合スコア49

Ruby on Rails 5

Ruby on Rails 5は、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

Ruby

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

1グッド

2クリップ

投稿2018/04/14 08:36

引数内で演算することは出来ないのでしょうか。 

date型の日付が入ったレコードから、「当日以降のレコードがあればラベルを表示」
ということをやりたいのですが、安易にこのようなコードでは通らず行きづまっております。

<% if @game.exists?(:date > Date.today) %><!--←ここ-->  <p class="label label-default">試合</p> <% else %>  <p class="artist_index">練習</P> <% end %>

下記、ハッシュでこのような事は出来るので

<% if @stages.exists?(:date => Date.today) %><!--同じ日付のレコードがあれば-->

演算子もいけると思ったのですがだめなんですね...
同じ日付以降ということがやりたいのですが、どのように書けばいいのでしょうか。
おしえていただけると幸いです。 よろしくお願いします。

nchugzOiCRwyV38👍を押しています

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

ベストアンサー

文字列を渡すしかないかと思います。

<% if @stages.where('date >= ?', Date.today) %>

これでどうでしょうか?

投稿2018/04/15 05:47

version1_2017

総合スコア160

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

seen

2018/04/15 14:39

できました!ありがとうございます。 勝手にこんなのも書いたのですが <% if @stages.exists?('date >= ?', Date.today) %> やっぱりダメなんですね...勉強します。 ありがとうございました!
guest

0

日付の指定にはRangeオブジェクトが使えます。

例えば、今日から10日後までの間のレコードが有るかは

<% if @stages.exists?(:date => Date.today .. Date.today+10) %>

のように書けます。

今日以降としたい場合は、終端に正の無限大である Float::INFINITY を指定します。

<% if @stages.exists?(:date => Date.today .. Float::INFINITY) %>

また、Ruby 2.6 + Rails 6.0以降ならば、終端を指定しない Endless Range が使えます。

<% if @stages.exists?(:date => Date.today .. ) %>

投稿2021/03/16 06:25

doda

総合スコア947

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問