ruby-on-rails - 发布请求后访问 URL 中的旧获取参数
问题描述
我在 RoR 中有一个带有控制器操作的表单,它通过 get 参数查找记录。
def respond
if request.post?
# Submit logic here...
# cannot lookup this way to fill the form out again
# @current_message = Saved_message.find_by_id(params[:msg_id])
elsif request.get?
@current_message = Saved_message.find_by_id(params[:msg_id])
end
end
我不能使用params[:msg_id]
来再次查找消息,因为它是一个发布请求并且我不重新发送获取参数。但是,get 参数保留在 url 中,例如.../messages/respond?msg_id=2
. 我可以通过传入一个具有不同参数名称的隐藏字段来解决这个问题,例如<%= form.hidden_field :msg_id_2, value: params[:msg_id] %>
. 然后我可以@current_message
通过params[:msg_id_2]
. 但是,我不喜欢这种解决方案。有什么建议可以访问现在无法访问的 get 参数吗?
解决方案
您应该使用 RESTful 路由,这样您就不必关心此类问题。
由于您没有发布太多关于您要解决的实际代码或问题的信息,我可以假设这里可能存在什么问题以及如何解决它。
推荐阅读
- python - 如何使用 python/pandas 从这个网页读取表格?
- node.js - 是否可以在后端添加回调方法以在查询完成后执行?
- css - 如何在Angular 6中拥有一个没有继承css的组件
- java - PKIXNameConstraintValidatorException:DNS 不是来自允许的子树
- sql - 来自同一个表的自连接列,计算一列不显示列名
- javascript - React-Native,如何使用外部变量访问对象属性?
- perl - Getting Connection refused in a FTP client socket program
- xml - 将特定标签中的值保存在一行中,并使用 xslt 将其添加到另一行
- javascript - 如何以模态角度 8 从 JSON 呈现 html 数据
- javascript - 如何回声