Изменение маршрута => http://localhost:3000/today_attendance?date=2019-03-29 TO http://localhost:3000/today_attendance - PullRequest
0 голосов
/ 28 марта 2019
**Controller**
  def today_attendance
    @date = params[:date]?Date.parse(params[:date]): Date.today
    @attendances = Attendance.joins(:user).where(date: @date).select(:email, 
    :password, :date, :status)
  end

**Views** (Just changed from GET to POST method)
   <%= button_to '<', attendance_path(date: @date - 1.day) %>
   <%= "#{@date.strftime("%A")}, #{@date.strftime("%d")} #{@date.strftime("%B")} #{@date.year}" %>
   <%= button_to '>', attendance_path(date: @date + 1.day) %>

**Routes**
  resources :users do
  resources :attendances
  end
  get 'today_attendance', to: 'attendances#today_attendance', as: 'today_attendance'
  resource :calendar, only: [:today_attendance], controller: :attendances
  post 'today_attendance', to: 'attendances#today_attendance', as: 'attendance'

Привет, я новенький @ Rails здесь.

В настоящее время у меня есть таблица ежедневных посещений, связанная с датой. На моей странице отображаются кнопки «Следующий день» и «Предыдущий день», которые переносят мою посещаемость с сегодняшнего дня на другие дни.

Мой текущий URL-адрес: http://localhost:3000/today_attendance
И всякий раз, когда я нажимаю на кнопки, я получаю, например, http://localhost:3000/today_attendance?date=2019-03-29

Вопрос: Как мне перенаправить эту страницу обратно на http://localhost:3000/today_attendance, чтобы мой экспорт в .xls мог читать / распечатывать различные дневные посещения?

1 Ответ

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

Не могли бы вы добавить фрагмент кода ваших маршрутов в routes.rb и html для кнопки?

Исходя из моего первого предположения, я полагаю, что ваша кнопка может выполнять GET вместо POST (из-за добавления запроса ?date=2019-03-29 в uri).

Другая проблема может заключаться в том, что ваша кнопка не указана как POST метод.Возможно, вы либо забыли указать <button type="submit" >.Таким образом, фрагменты кода могут помочь еще больше сузить проблему :)

...