首页 > 解决方案 > 重新路由=> http://localhost:3000/today_attendance?date=2019-03-29 到 http://localhost:3000/today_attendance

问题描述

**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 时可以读取/打印出不同日的出勤情况?

标签: ruby-on-railsroutesexportxls

解决方案


您能否在您的 中添加您的路线的代码片段routes.rb,以及为按钮添加您的 html 代码片段?

从我的第一个假设开始,我相信您的按钮可能正在执行 aGET而不是 a POST(通过?date=2019-03-29在 uri 中添加查询)。

另一个问题可能是您的按钮未指定为POST方法。可能是您忘记指定<button type="submit" >. 所以代码片段可能有助于进一步缩小问题范围:)


推荐阅读