ワークアウト スケジューラ用にフォームをセットアップしました。私は show_date を使用してユーザーフレンドリーな方法で日付をフォーマットし、実際の日付フィールドを使用してレールに適した日付を格納しています。ページを見ると、show_date フィールドに何も表示されませんが、日付はまだ期待どおりに機能しています。
#workout.rb
class Workout < ActiveRecord::Base
validates_presence_of :name
validates_presence_of :show_date
validates_presence_of :time
attr_accessor :show_date
end
#_form.html.erb
<%= simple_form_for @workout, :html => { :class => 'form-horizontal' } do |f| %>
<%= f.input :name %>
<%= f.input :date, :as => :hidden%>
<%= f.input :show_date, :as => :date_picker, :label => 'Date', :input_html => { :value => @workout.date } %>
<%= f.input :time, :minute_step => 15 %>
<div class="form-actions">
<%= f.button :submit, :class => 'btn-primary' %>
<%= link_to t('.cancel', :default => t("helpers.links.cancel")),
workouts_path, :class => 'btn' %>
</div>
<% end %>
#date_picker_input.rb
class DatePickerInput < SimpleForm::Inputs::Base
def input
@builder.text_field(attribute_name, :class => 'date_picker')
end
end
#datepicker.js
$("input.date_picker").datepicker(
{
dateFormat: "mm/dd/yy",
altField: "#workout_date",
altFormat: "dd/mm/yy"
}
);