Создание атрибута модели ActiveRecord для использования в представлении - PullRequest
1 голос
/ 28 апреля 2011

Не могу поверить, что мне даже пришлось задавать этот вопрос, но это был "один из тех дней", и я не могу думать прямо.

Я создаю простое приложение Rails, используя данные в базе данных MySQL. В одной из таблиц есть столбец для отметки времени создания (creation_ts). Я хотел бы создать атрибут модели, который станет частью каждого объекта модели. В этом случае, если у записи есть метка времени создания, которая старше месяца, я хочу, чтобы для атрибута «late» было задано значение true (в противном случае - false). Затем я мог бы позже использовать это в представлении при динамической установке атрибутов HTML-элемента.

Опять же, я должен знать это (на самом деле, я сделал это раньше) Я просто рисую полный бланк.

1 Ответ

2 голосов
/ 28 апреля 2011

В Rails 3 для создания даты первого сохранения используется 'create_at'.В вашей модели, скажем Model.rb, вы можете добавить поздний метод доступа, определенный следующим образом:

def late?
    created_at > 1.month.ago
end

, который будет возвращать true или false.

Тогда в ваших представлениях вы можете сделать что-то вроде

<% if @model.late? %>
  <%= @model.something_to_show %>
<% end %>

Ян.

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