1
내 앱에는 여러 가지 프로젝트/작업 예약 기능이 있습니다. Ice_cube 젬을 사용한 간단한 데모를 만들었고 일정 반복 이벤트를 계획하는 데 효과적이었습니다 ...하지만 개별 요일 범위/동작을 수행하는 것이 걱정됩니다. 그래서, 나는 7 개의 불리언 체크 박스로 일정표를 만들었습니다.레일 - 주간 일정 (일별) 확인란
예를 들어이 게시물을 참조하십시오>weekday events. 해결책을 찾지 못했지만 요구 사항이 약간 다릅니다.
대신, 나는 작동하는 몇 가지 코드를 작성했습니다. 그러나 그 매우 까다 롭거나 추한 것입니다. 그리고 나는 사용자가 선택한 날짜 범위에 대해 매주 요일마다 달력 날짜를 할당 할 수있는 방법을 작성하는 방법에 대한 아이디어를 찾고 있습니다.
인덱스보기 :
<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
모델 - 아니 추가 코드입니다.
도움을 주시면 큰 도움이됩니다.
+1 플러스 배열로 승 %를 이동, 전자 ... 상수로 모델의 평일에보기 예를 들어 메타 프로그래밍
필요 Modelname :: weekdays로 참조하십시오. –
@Mik_Die, 빠른 응답을 주셔서 감사합니다. 예, 프로그래밍을 향상시켜야합니다. 여전히 초보자입니다. Date.today.send (day)에 오류가 있습니다 - "정의되지 않은 메소드'tuesday 'for Fri, 16 Mar 2012 : Date"... 여러 가지 방법을 시도했지만 행운이 없었습니다. 금주의 특정 날짜를 정의하는 루비 메소드가 있습니까 (예 : sunday = march 11)? – Jeff
Rails에는'sunday'와'monday' 메소드 만 있기 때문입니다. Time 객체를 확장하고 다른 메소드를 추가 할 수 있지만 Ruby입니다 :) – MikDiet