Пользовательские действия и правильное перенаправление после успешной отправки - PullRequest
0 голосов
/ 13 марта 2019

На самом деле я работаю над небольшим приложением, где пользователь может создать событие. Это должно быть сделано в три этапа. Для этого я создал два пользовательских действия в связанном контроллере. Каждый вид имеет форму, использующую URL update. Затем я настроил метод обновления следующим образом:

    def training
      @event = Event.find(params[:event_id])
      @coach = Coach.find(@event.coach_id)
    end

    def confirm
      @event = Event.find(params[:event_id])
    end

    def update
      respond_to do |format|
        if @event.update(event_params)
          if params[:commit] == 'next'
            format.html { redirect_to booking_event_confirm_path(@event), notice: 'Event was successfully updated.' }
          else
            format.html { redirect_to booking_event_path(@event), notice: 'Event was successfully updated.' }
          end
        else
          if params[:commit] == 'next
            format.html { render :training }
          else
            format.html { render :edit }
          end
        end
      end
    end

Как новичок в Rails, я был бы рад получить некоторую обратную связь ... Кажется ли это хорошо, или это будет лучший способ достичь моей цели?

Спасибо заранее!

1 Ответ

1 голос
/ 13 марта 2019

Ваше решение неплохое, но есть лучший способ достичь его.Я бы посоветовал вам проверить Wicked gem и этот урок .

В общем, гугл-мастер или многошаговая форма.

...