13

ここに画像の説明を入力

上の写真は私が意味するものです。コードは次のようにする必要があると思います。

    <% @days_from_this_week.each do |day| %>
        <%= day.name %>
        <!--e.g. Monday-->
        <% day.sessions do |session| %>
            <% @session_categories.each do |category| %>
                <!--categories means the Sesion1/2/3/4 category
                A day's sessionX could be empty, so we have to determine wheather a session matches its cateogry, 
                and then display it in the table
                -->
                <% if session.category == category %>
                    <%= session.content %>
                 <% end %>
            <% end %>
         <% end %>
    <% end %>

しかし、どのように取得するのcurrent weekですか?そして、どのように取得するのname of a dayですか?また、このカレンダーをナビゲートするためpre_weeknext_weekも必要です。

prev_week方法を見つけましnext_weekたが、1週間後の特定の日に戻るようです。これは必要ありません。

考えられる解決策はこちらにありますが、使い方がわかりません。

更新:実行可能な解決策を見つけましたが、より良いコードを探しています:

  <!--  @date = params[:date] ? Date.parse(params[:date]) : Date.today
    first=@date.at_beginning_of_week
    last=@date.at_beginning_of_week + 6
    @days= (first..last).to_a-->
    <% @days.each do |day| %>
        <div>
          <%= day %>
        </div>

    <% end %>
4

2 に答える 2

5

解決策はこちら

今週のメソッドは次のようになります。

def current_week
  date = Date.today.beginning_of_week
  return (date..date + 6.days).to_a
end

次に、日の配列がある場合、 strftime を使用して日付をフォーマットできます

day.strftime("%A") # prints weekday name
于 2013-08-13T02:54:09.977 に答える