Создание приложения календаря / планировщика - Ruby on Rails - PullRequest
8 голосов
/ 04 мая 2010

Я подумываю о разработке приложения с использованием Ruby on Rails, который является своего рода планировщиком. Я хотел бы дать пользователю возможность увидеть список дней, щелкнуть по конкретному дню, а затем добавить такие вещи, как: питание, расходы, события, задачи и упражнения. На самом деле я делаю это для себя и своей растущей семьи.

Мне интересно, как лучше всего это реализовать. Я, конечно, могу видеть, что питание, расходы и т. Д. Должны принадлежать own_to: user, но мне любопытно, как реализовать own_to: day или что-то в этом роде. Использование create_at или updated_at не обязательно позволяет мне предоставлять представления для будущих дат.

Я могу видеть, как, если бы я создал таблицу Дней, а затем добавил дни в поле времени и даты, чтобы это работало, но кажется немного странным просить людей создать настоящие дни.

Или, возможно, вместо этого я мог бы просто создать ссылки на переменные, которые ищут @today, @t Saturday, но это может привести к путанице.

Я просматривал гемы / плагины, но не могу найти тот, который работает. В идеале человек мог бы.

У кого-нибудь есть мысли о том, как реализовать нечто подобное?

Ответы [ 4 ]

6 голосов
/ 04 мая 2010

Существует несколько существующих календарей Rails, таких как http://github.com/elevation/event_calendar или http://github.com/topfunky/calendar%5Fhelper.

Однако, чтобы ответить на ваш конкретный вопрос о датах: я не думаю, что есть необходимость иметь Day в качестве модели; просто дайте каждому событию дату и время начала, а также дату и время окончания. Помните, что Ruby облегчает поиск по диапазонам, поэтому «дай мне все события на следующей неделе» - это несложно, если с каждым событием связаны даты и время.

4 голосов
/ 04 мая 2010

Я попробую ...

Две таблицы; пользователи и события. У пользователя есть много событий, и событие принадлежит пользователю. Питание, расходы и т. Д. - это различные типы событий. Внутри событий вы можете иметь поля для времени начала и окончания событий. При необходимости (скажем, события длятся в течение нескольких дней), вы можете удалить день / время, когда события происходят в его собственной таблице.

Таким образом, при отображении календаря для пользователя вы можете найти все события на эту дату. Если ничего не найдено, ничего не отображается.

Что ты думаешь?

1 голос
/ 01 августа 2011

Я сделал такой же проект для управления событиями в учебном институте. Там я использовал плагин event_calender с рельсами. ( введите описание ссылки здесь )
Там нам нужно только создать модель Event. Тогда мы можем легко работать с этим.

1 голос

Я бы добавил модель под названием «События» и имел бы свойства модели для представления даты / времени начала, даты / времени окончания. Я не думаю, что вам нужна модель Days, вы можете сгенерировать ваш календарь из класса Date, встроенного в ruby.

...