ここから CalendarHelper を使用していますhttp://railscasts.com/episodes/213-calendars-revised
現在の月が表示され、次のように取得されます。
class XyController < ApplicationController
@date ||= Date.today
ビューにフォームが必要なので、この日付を任意のカスタム日付に設定できます。このようなもの:
= simple_form_for(@date) do |f|
= f.input ???
インスタンスオブジェクトのフォームを設定する方法の要点が欠けていると思います。コントローラーで設定したインスタンス変数の日付を設定するフォームを実装するにはどうすればよいですか?
編集。:
calendar_helper.rb
module CalendarHelper
def calendar(date = Date.today, &block)
Calendar.new(self, date, block).table
end
class Calendar < Struct.new(:view, :date, :callback)
HEADER = %w[Hétfő Kedd Szerda Csütörtök Péntek Szombat Vasárnap]
START_DAY = :monday
delegate :content_tag, to: :view
def table
content_tag :table, class: "calendar" do
header + week_rows
end
end
def header
...
end
def week_rows
...
end
def day_cell(day)
...
end
def day_classes(day)
...
end
def weeks
...
end
end
end
ビューで:
= calendar do |date|
= date.day
したがって、ヘルパーには date = Date.today があります。これを @date インスタンスに変更し、単純な表示ビューに設定したいと思います。例:
profile_controller.rb
def show
@date ||= Date.today
end
そして、次のようなビューで:
form_for(@date) do |f| f.date_select :日付
このようなものですが、これは明らかに機能しておらず、正しくもありません