再解析したい日時がある次のシナリオがあります。以下をirbで動作させることができますが、postパラメーターを操作するときにnil値に問題があるようです。例のために。
これはirbで機能します:
DateTime.strptime("10/25/2012 04:27 pm", "%m/%d/%Y %I:%M %P").strftime("%Y-%m-%d %H:%M:00")
=> "2012-10-25 16:27:00"
ただし、params 値にアクセスしようとすると、値自体にアクセスできないようです。例のために。
def create
@shipment = params[:shipment]
@shipment.ship_date = format_date(@shipment.ship_date)
.
.
.
end
def format_date(date)
DateTime.strptime(date, "%m/%d/%Y %I:%M %P").strftime("%Y-%m-%d %H:%M:00")
end
文字列を使用して変数を手動で設定すると、機能します。パラメータを取り除こうとすると、nilのようです。@shipment.ship_date.to_s を実行しても、それは "" に変換されます。ブラウザーの Web インスペクターに表示されるように、パラメーターが空ではないことがわかっています。パラメータ値の操作方法がわかりません。