在发布请求后访问 URL 中的旧 get 参数

花边鲍勃

我在 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]再次查找消息,因为它是一个发布请求,而且我不会重新发送获取参数。但是,获取参数保留在 url 中,例如.../messages/respond?msg_id=2. 我可以通过传入一个具有不同参数名称的隐藏字段来解决这个问题,比如<%= form.hidden_field :msg_id_2, value: params[:msg_id] %>. 然后我可以@current_message通过params[:msg_id_2]. 但是,我不喜欢这种解决方案。有什么建议可以访问现在无法访问的 get 参数吗?

诗人

您应该使用 RESTful 路由,这样您就不必关心此类问题。

由于您没有发布太多关于您尝试解决的实际代码或问题的信息,我可以假设这里可能存在什么问题以及如何解决它。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章