このアプリでは、イベントが作成されると、システムは 3 日より近いかどうかをチェックします。そうであれば、ブール値を変更します。
正常に動作していましたが、何をしたかわかりませんが、減算操作でエラーが発生します。NoMethodError (nil:NilClass の未定義メソッド `-'):
私は単純な間違いだと確信しています..しかし、それを見つけることができません。どんな助けでも大歓迎です。どうもありがとう!!
event_controller.rb
def create
categories = params[:category_ids] or []
@event = Event.new(params[:event].merge(:user_id => current_user.id, :category_ids => categories))
check_date
respond_to do |format|
if @event.save
#Mailer to seek appoval
format.html { redirect_to @event, notice: 'Event was successfully created.' }
format.json { render json: @event, status: :created, location: @event }
else
format.html { render action: "new" }
format.json { render json: @event.errors, status: :unprocessable_entity }
end
end
end
private
# Set the event to 'reminded'
def check_date
if close_date
@event.reminded = true
end
end
# Checks whether an event is happening in less than 72h
def close_date
if ((@event.start_date-Time.now)< 259146.01469397545)
true
else
false
end
end
アップデート
イベントを保存しようとすると、明らかに日付フィールドが空です。これは、フィールドを変更して dateTimePicker を実装したためです。
彼らはかつて
.field
= f.label t :event_start_date
%br
= f.datetime_select :start_date
.field
= f.label t :event_finish_date
%br
= f.datetime_select :finish_date
そして今フィールド
= f.label t :event_start_date
%br
= f.text_field :start_date, :class=>"datetime_box", :size=>"17"
.field
= f.label t :event_finish_date
%br
= f.text_field :finish_date, :class=>"datetime_box", :size=>"17"
それを解決する方法はありますか?