【问题标题】:Rails Search form - Pass parameter from view to controllerRails 搜索表单 - 将参数从视图传递到控制器
【发布时间】:2013-12-30 06:01:09
【问题描述】:

我的观点如下:

<%= form_for :search do |f| %>
      <%= f.label :search %>
      <%= f.text_field :search  %>
      <%= f.submit 'Search' %>
<% end %>

我正在尝试从f.submit 按钮创建一个post 操作,该按钮将路由到特定的控制器操作。然后我需要该操作来重定向回我的初始视图,但在重定向时传入text_field 参数。如何在我的视图中访问text_field 参数并通过重定向传递它?

【问题讨论】:

  • 你为什么要删除你的编辑?
  • 我很抱歉 - 我试图让问题更清楚并删除了太多信息。

标签: ruby-on-rails search view controller routes


【解决方案1】:

最简单的方法是从这个问题:Passing parameters in rails redirect_to

redirect_to search_path({ :search => params[:search] })

【讨论】:

  • 我不会使用request.parameters,除非我真的必须这样做,params 是在 Rails 控制器中访问 HTTP 参数的标准和首选方式
  • 好点,我实际上可能只会通过必要的。查看更新的答案
  • 很高兴看到这两种方式 - 有几次我想要传递所有参数,其他我只需要一个特定的参数。感谢您的提示。
【解决方案2】:

您的参数将以普通哈希的形式出现,您可以通过控制器中的params[:search][:search] 访问它们。

一般只要查看 rails server 日志,你就可以看到浏览器发送到 rails 的数据

【讨论】:

  • 我打算(并且暂时)否决了这个,但它似乎回答了问题的当前编辑版本。看来他删除了我实际回答的部分,而你根本没有回答
  • @TMP 对此感到抱歉,我没有意识到他编辑了这个问题,所以这似乎是一个错误的答案。取消了我的反对票:)
  • 谢谢!仍在试图弄清楚他为什么要进行第二次编辑,但至少有一个用途有帮助!哈哈节日快乐
猜你喜欢
  • 1970-01-01
  • 2015-07-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多