私は、ice_cube および recurring_select gem の [素晴らしい] 機能を利用して、繰り返し発生するイベントを処理しようとしています。データベースにschedule
(テキスト) 列があり、イベント モデルに次の列があります。
def schedule=(new_schedule)
write_attribute(:schedule, RecurringSelect.dirty_hash_to_rule(new_schedule).to_yaml)
end
def converted_schedule
Schedule.from_yaml(self.schedule, :start_date_override => self.start_date)
end
psql のスケジュール列を見ると、スケジュールが正しく格納されているように見えます。
これが私のフォームです:
.control-group
= f.label 'Date', :class => 'control-label'
.controls
= f.text_field :start_date, :class => 'datepicker'
.control-group
= f.label 'Recurring?', :class => 'control-label'
.controls
= f.select_recurring :schedule, :allow_blank => true
ただし、出力しようとするconverted_schedule
と、開始日のみが表示され、追加の日付は表示されません。私は成功しなかったのではないかと疑っています...おそらくYAMLがconverted_schedule
メソッド用に正しく変換されていませんか? 終了日が必要なのかもしれません (recurring_select でこの機能を使用できる場所がわかりません)。