ここで、ユーザーは開始日と終了日を選択して、ある期間のタイムシートを送信します。これらのパラメーターは timesheet_params に割り当てられ、タイムシート モデルに渡されます。
特定の日のタイムシートを作成すると、次のエラーが発生します。
開始 GET "/users/2/timesheets/build?start_date=06/08/2013&end_date=06/11/2013" at 127.0.0.1 at Tue Jun 11 23:24:23 +0530 2013 TimesheetsController#build as / Parametersによる処理: {"end_date"=>"06/11/2013", "start_date"=>"06/08/2013", "user_id"=>"2"} [1m[36mUser Load (0.1ms)[0m [1mSELECT]
users
.*users
どこからusers
.id
= 2 LIMIT 1[0m 完了 500 内部サーバー エラー 3msNoMethodError (未定義のメソッド
stringify_keys' for #<Array:0xb23ed8f4>):app/controllers/timesheets_controller.rb:23:in
new' app/controllers/timesheets_controller.rb:23:in `build'
私が使用しているコードは次のとおりです。
// time sheet build method //
def build
@user = current_user
timesheet_params = params.select{|k,v| ["start_date", "end_date", "user_id"].include?(k) }
@timesheet = Timesheet.new(timesheet_params)
@timesheet.placement = @user.active_assignment
if @timesheet.valid?
if @timesheet.timesheet_days.blank?
build_timesheet_days
end
else
render :status => 500 and return
end
end