0

Rails 3.2 アプリにカレンダーを実装する作業を行っています。必要なことを正確に実行するプラグインを説明するこの素晴らしい railscast を見つけました。ただし、1つだけでなく、複数のモデルからデータを取得する必要があります..これに対する解決策を知っている人はいますか?

つまり、誕生日、記念日、祝日のテーブルが別々にあり、それらをすべて同じカレンダーに表示したいと考えています... 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>
4

1 に答える 1

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

もちろん、誕生日、記念日、および祝日がすべてそれほど異なるようには思えませんが、イベント カテゴリの関連付けを使用してイベント モデルにリファクタリングしてみませんか? とにかく、どのように実装するかはあなた次第です。単なる提案です!

于 2012-05-26T17:55:11.517 に答える