2012-05-26 3 views
0

Я работаю над реализацией календаря в своих рельсах 3.2 app.I нашел этот отличный railscast, который объясняет плагин, который делает именно то, что мне нужно. Тем не менее, мне нужно, чтобы данные извлекались из нескольких моделей, а не только из них. Кто-нибудь знает о решении для этого?Календарь в rails app

т.е. - У меня есть отдельные дни рождения, годовщины и таблицы праздники и хотели бы показать их все на одном календаре ... The railscast имеет дело только с моделью статьи ..

Спасибо!

http://railscasts.com/episodes/213-calendars

https://github.com/watu/table_builder

пользователей/show.html.erb

<div id="calendar"> 
    <h2 id="month"> 
    <%= link_to "<", :month => (@date.beginning_of_month-1).strftime("%Y-%m") %> 
    <%=h @date.strftime("%B %Y") %> 
    <%= link_to ">", :month => (@date.end_of_month+1).strftime("%Y-%m") %> 
    </h2> 
       <%= calendar_for @friends, :year => @date.year, :month => @date.month do |calendar| %> 
       <%= calendar.head('mon', 'tue', 'wed', 'thu', 'fri', 'sat', 'sun') %> 
        <%= calendar.day(:day_method => :dob) do |date, friends| %> 
        <%= date.day %> 
        <ul> 
         <% friends.each do |friend| %> 
         <li> <%= h(friend.name) %><%= "\'s birthday"%></li> 
         <% %> 
        <% end %> 
        </ul> 
       <% end %> 
      <% end %> 
</div> 

ответ

1

календарь таблица просто здание от массива (который должен сказать, результаты, установленные с активной записи запрос). Если вам это нужно отрабатывать различные модели, вы бы просто сделать следующее:

def calendar_action 
    #assumes a scope of this_month on each model 
    @events = [] 
    @events << Birthday.this_month 
    @events << Anniversary.this_month 
    @events << Holiday.this_month 
end 

Конечно, это не звучит, как дни рождения, юбилеи и праздники все, что разные, почему бы не просто реорганизовать их в модель события с ассоциацией категории событий? Независимо от того, как вы реализуете, зависит от вас, просто предложение!

+0

Я обновил вопрос выше с моим рабочим кодом (но только тянет в друзья dob) .. интересно, как рекомендуется включить ваш ответ в это .. спасибо !!! @DVG – js111