Recurring Select Accepts "Null" As a Valid Rule
I followed the Chris' excellent tutorial on Recurring events with the ice_cube gem. However, I was running into an issue when the value of recurring was set to - not recurring -. If I went to create or update an event, I would get the following error:
undefined method 'to_hash' for nil:NilClass, which pointed to this line super(RecurringSelect.dirty_hash_to_rule(value).to_hash)
The actual value of this field is null, and for some reason this value was being accepted as a RecurringSelect.is_valid_rule?.
I ended up rewriting my recurring= method to the following to solve the issue.
def recurring=(value)
if value == "null"
super(nil)
elsif RecurringSelect.is_valid_rule?(value)
super(RecurringSelect.dirty_hash_to_rule(value).to_hash)
else
super(nil)
end
end
- Is my solution acceptable?
- Any reason why I'm running into this issue? Is it because I'm running a different version of Rails? I'm on
rails 5