Создание повторяющихся событий с гемом ice_cube

Я пытаюсь создать повторяющиеся события, используя драгоценные камни ice_cube и recurring_select.

Вот мой код _form.html.erb:

<%= simple_form_for(@event) do |f| %>
  <div class="form-inputs">
    <%= f.select_recurring :day, [IceCube::Rule.daily]  %>
    <%= f.input :start_time %>
    <%= f.input :end_time %>
  </div>
  <div class="form-actions">
    <%= f.button :submit %>
  </div>
<% end %>

В моем контроллере у меня есть (между прочим):

def new
   @event = Event.new
end

def create
  @event = Event.new(event_params)
  respond_to do |format|
    if @event.save
      format.html { redirect_to @event, notice: 'Event was successfully created.' }
      format.json { render :show, status: :created, location: @event }
    else
      format.html { render :new }
      format.json { render json: @event.errors, status: :unprocessable_entity }
    end
  end
end

def event_params
  params.require(:event).permit(:day, :start_time, :end_time, :reserved)
end

Как видите, я хочу создавать одно и то же событие для каждого дня недели, но на самом деле столбец my:day остается пустым, если я отправляю эту форму.

Можете ли вы дать отзыв? Я не знаю что может быть не так

1 ответ

Ваш escape_params кажется неправильным, должно быть event_params как вы использовали в update действие:

private
  def event_params
    params.require(:event).permit(:day, :start_time, :end_time, :reserved)
  end

Обновить:

После просмотра в recurring_select гем, данные, которые он отправляет на сервер, выглядит примерно так:

event[:day]: {"interval":1,"until":null,"count":null,"validations":null,"rule_type":"IceCube::DailyRule"}

Так что это не простой параметр с одним значением, который вы можете хранить в одном поле.

Здесь у вас есть два варианта: либо сериализовать это значение и сохранить его в одном поле, либо создать отдельные поля для каждого параметра в базе данных.

И так как ваши данные в day поле - это хеш, permit функция просто не будет работать на нем. Вы можете увидеть больше информации о трекере Rails.

Другие вопросы по тегам