Skip to main content

Recurring Select Accepts "Null" As a Valid Rule

Gems / Libraries • Asked by Steve Polito

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
  1. Is my solution acceptable?
  2. 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

having the same problem


Login or Create An Account to join the conversation.

Subscribe to the newsletter

Join 24,647+ developers who get early access to new screencasts, articles, guides, updates, and more.

    By clicking this button, you agree to the GoRails Terms of Service and Privacy Policy.

    More of a social being? We're also on Twitter and YouTube.