I have a model with virtual attributes:

```
attr_accessible :published_at

def published_at_text
  I18n.localize(published_at, format: :long_no_day_with_seconds) if published_at
end

def published_at_text=(text)
  self.published_at = Chronic.parse(text)
end

```

This works fine in the unit tests, but does not save when the published\_at\_text field is changed in the view. I've tried using `attr_accessible :published_at_text`, and adding `published_at_will_change!` to the setter method, but I can't get this to work.

The `development.log` shows that the changed value of published\_at\_text is being passed in, but adding a call to Rails.logger in the setter seems to indicate that it's not even getting called.

What am I missing here?