У меня есть календарь на текущий месяц, теперь я хочу добавить предыдущий месяц и следующий месяц, вот как я делаю календарь в представлении
<table border="1" width="70%">
<th colspan=7 align=center><%= @month %> <%= @year %></th>
<tr width ="10%">
<% Date::DAYNAMES.each do |days_of_week| %>
<td align=center><%= days_of_week %></td>
<% end %>
</tr>
<% @tasks.in_groups_of(7, ' ') do |row_tasks| %>
<tr>
<% for task in row_tasks %>
<!-- if Staament here -->
<td><%= task %></td>
<!-- Else Staament here -->
<% end %>
</tr>
<% end %>
</tr>
</table>
это контроллер
def calendar_of_events
@year = Date.today.year
month = Date.today.month
@month = Date::MONTHNAMES[month]
begin_day = Date.today.beginning_of_month
@begin = begin_day
@last = Date.civil(@year, month, -1)
@blank_day= Date.today.beginning_of_month.wday
if @blank_day >= 0
@day = @blank_day - 1
else
@day = 0
end
@last_day_of_month = @last.mday
@first_day_of_month = @begin.mday
@blank_days_of_month = ('').to_a
for i in 0..@day
@blank_days_of_month2 = (' ').to_a
@blank_days_of_month1 = @blank_days_of_month
@blank_days_of_month = @blank_days_of_month2 + @blank_days_of_month1
end
@days_of_month = (@first_day_of_month..@last_day_of_month).to_a
@tasks = @blank_days_of_month + @days_of_month
end
Я знаю, что есть много дополнительных вещей, которые мне не нужны, я использовал некоторые из них, чтобы убедиться, что получаю правильную информацию. Что мне нужно, это нажать следующий и получить следующий месяц и предыдущий за последний месяц. Все, что мне сейчас нужно, это передача команды контроллеру, о которой я могу беспокоиться год + и год - после того, как я получу эту работу, любая помощь будет полезна!