EDIT:時間計算をコールバックとしてモデルに移動しました。私はこのエラーを取得しています:時間分の整数をキャプチャしてdatetimeとしてデータベースに保存する必要があります
NoMethodError in OutstandingsController#create
undefined method `hours' for nil:NilClass
は、私は、時間の数学を行うことができるように含める必要があるいくつかの宝石はありますか?私はそれがActiveSupportに含まれていると思った..?
class Outstanding < ActiveRecord::Base
belongs_to :user
before_validation(:on => :create) do
self.panic_deadline = Time.now
self.panic_deadline = self.panic_deadline + self.deadline_hours.hours
self.panic_deadline = self.panic_deadline + self.deadline_minutes.minutes
self.active = true
end
end
class OutstandingsController < ApplicationController
def create
@outstanding = Outstanding.new(params[:outstanding])
@user = current_user
@[email protected]
respond_to do |format|
if @outstanding.save ...
<%= form_for(@outstanding) do |f| %>
<div class="field">
<%= select_tag :deadline_hours, options_for_select(Array(0..99), 0) %><%= f.label :deadline_hours %>
<%= select_tag :deadline_mins, options_for_select(Array(1..59), 30) %><%= f.label :deadline_mins %>
</div>
<div class="actions">
<%= f.submit %>
</div>
<% end %>
私はコールバックでこれを試しました。上記を参照。 –
うまくいきましたか?あなたはif!self.deadline_hours.blankを入れる必要があるでしょうか? if!self.deadline_minutes.blank?コールバック – Pasted
に私のdeadline_hoursが空白の場合、私は '未定義のメソッド "時間"を得るだろうか? –