ruby-on-rails - 重新路由=> 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 时可以读取/打印出不同日的出勤情况?
解决方案
您能否在您的 中添加您的路线的代码片段routes.rb
,以及为按钮添加您的 html 代码片段?
从我的第一个假设开始,我相信您的按钮可能正在执行 aGET
而不是 a POST
(通过?date=2019-03-29
在 uri 中添加查询)。
另一个问题可能是您的按钮未指定为POST
方法。可能是您忘记指定<button type="submit" >
. 所以代码片段可能有助于进一步缩小问题范围:)
推荐阅读
- tensorflow - 流媒体意味着 iou DeepLabv3+
- azure-cosmosdb - 是否可以在使用流分析将数据从 IOT 集线器发送到 CosmosDb 时转换 JSON 输入
- sql - 如何使用sql在oracle中的一对一映射中查找重复项?
- c# - 在解决方案中引用项目或程序集的最佳实践
- powerbi - DAX ALLEXCEPT 按多维表的类别求和
- c# - 使用新的 .NET SDK Azure.Messaging.EventHubs 使用 EventProcessorClient 进行检查点
- azure - 具有内部 IP 地址的天蓝色功能或 Web 服务
- java - 我正在尝试制作一个列出平方数的循环。我的 Java 代码有什么问题?
- node.js - Angular 项目没有满足我的要求
- r - 匹配和替换 R 中的行名