Поиск записей, соответствующих дате и времени в Rails 3 - PullRequest
1 голос
/ 10 февраля 2011

У меня есть база данных, в которой хранятся запись и дата (кроме созданных и измененных). У меня также есть цикл, который выплевывает дату за предыдущие 10 дней. Цикл выглядит так:

<ol>
    <% Date.today.downto(Date.today - 9.days) do |date| %>
        <li>
            <%= link_to date.strftime("%A, %B %e"), new_entry_path + date.strftime("/%Y/%m/%d") %>
        </li>
    <% end  %>
</ol>

То, что я пытаюсь выполнить, и с треском проваливаюсь, это только показать ссылку выше, если запись на эту дату не существует в базе данных. Если бы он существовал, я бы показал Entry.title. Я пробовал следующее, но это не работает:

<%= link_to date.strftime("%A, %B %e"), new_entry_path + date.strftime("/%Y/%m/%d") unless Entry.find_by_date(date) %>

Я экспериментировал со всеми видами .finds и .where, но ничего не работает. Пожалуйста, любая помощь будет принята с благодарностью. Спасибо!

Ответы [ 2 ]

0 голосов
/ 10 марта 2011

Я согласен с Arsen7.Пожалуйста, проверьте тип столбца date .Я тоже подозреваю, что он объявлен как datetime , а не date .

0 голосов
/ 10 февраля 2011

Я предлагаю использовать консоль и проверить, находит ли Entry.find_by_date(Date.today) и Entry.find_by_date(Date.today - x) запись, о которой вы знаете, что она должна быть найдена.

В вашей базе данных дата хранится как дата или как дата и время? «2011-02-12» не равно «2011-02-12 11:16:05». Может в этом проблема?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...