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