Мое приложение имеет несколько функций планирования проектов / задач.Сначала я создал простую демо-версию с гемом Ice_cube, и он отлично работает для планирования повторяющихся событий ... но я беспокоюсь о том, чтобы делать отдельные области / действия на день недели;Итак, я создал форму расписания с 7 логическими флажками.
См. этот пост для примера> события дня недели .Я не мог получить решение, рекомендованное для работы, но мои требования немного отличаются.
Вместо этого я написал некоторый код, который работает - но он очень неуклюжий / уродливый.И я ищу идеи о том, как написать метод, который позволяет мне: назначать календарные даты для каждого дня недели для выбранного пользователем диапазона дат.
Индексный просмотр:
<h1>Weekly Project Schedule</h1>
<br />
<h2>Monday: <%= Date.today.monday %></h2>
<% @tasks.each do |task| %>
<% if task.monday? %>
<h3><%= link_to task.name, task %></h3>
<p>Starts: <%= task.starts_on %></p>
<p>Ends: <%= task.ends_on %></p>
<p><%= link_to 'Edit', edit_task_path(task) %></p>
<% end %>
<% end %>
<h2>Tuesday: <%= Date.today.monday+1 %></h2>
<% @tasks.each do |task| %>
<% if task.tuesday? %>
<h3><%= link_to task.name, task %></h3>
<p>Starts: <%= task.starts_on %></p>
<p>Ends: <%= task.ends_on %></p>
<p><%= link_to 'Edit', edit_task_path(task) %></p>
<% end %>
<% end %>
<h2>Wednesday: <%= Date.today.monday+2 %></h2>
<% @tasks.each do |task| %>
<% if task.wednesday? %>
<h3><%= link_to task.name, task %></h3>
<p>Starts: <%= task.starts_on %></p>
<p>Ends: <%= task.ends_on %></p>
<p><%= link_to 'Edit', edit_task_path(task) %></p>
<% end %>
<% end %>
<h2>Thursday: <%= Date.today.monday+3 %></h2>
<% @tasks.each do |task| %>
<% if task.thursday? %>
<h3><%= link_to task.name, task %></h3>
<p>Starts: <%= task.starts_on %></p>
<p>Ends: <%= task.ends_on %></p>
<p><%= link_to 'Edit', edit_task_path(task) %></p>
<% end %>
<% end %>
Schema:
ActiveRecord::Schema.define(:version => 20120315004635) do
create_table "tasks", :force => true do |t|
t.string "name"
t.date "starts_on"
t.date "ends_on"
t.boolean "monday"
t.boolean "tuesday"
t.boolean "wednesday"
t.boolean "thursday"
t.boolean "friday"
t.boolean "saturday"
t.boolean "sunday"
t.boolean "completed"
t.datetime "created_at"
t.datetime "updated_at"
end
Модель -без добавления кода.
Любая помощь с благодарностью!