rails/rails — pull request #18157 by greysteil (2014-12-23 02:48:03+00:00)
Title: Don't raise on out-of-range datetimes passed by a user

Currently out-of-range user-entered datetimes cause an argument error:

```ruby
task = Task.new(start_at: "2014-07-01T24:59:59GMT") #=> ArgumentError
```

In contrast, when *really* bad data is entered the error is caught and the attribute is set to `nil`,

```ruby
task = Task.new(start_at: "rubbish")
taks.start_at #=> nil
```

This PR catches the argument error to make the above two scenarios consistent.