ruby-on-rails-3.2 - 如何将参数传递给 rails form_tag?

标签 ruby-on-rails-3.2

我有问题,我想将自定义 url 参数传递给 form_tag 方法。 我已经尝试了很多在 stackoverflow 上解释的方法,但似乎没有一种方法适合 Rails 3.2.8。

这是我现在的:

<%= form_tag search_results_path,
             :method => "get",
             :params => params.merge(:button => "..."),
             class: "form-search" do %>

这也行不通:

<%= form_tag search_results_path,
             :method => "get",
             :params => params.except(:controller, :action).
                        merge(:button => "..."),
             class: "form-search" do %>

但是当 search_results_path 完成加载时,params[:button] 没有设置。

感谢您的帮助。

编辑:

我尝试在具有 action="/search/params?button=xxx 的 View 中呈现表单。这应该是我的选项卡的初始状态,并且每次页面重新加载时,这个 url 参数也应该传递,以提供我当前的选项卡。

最佳答案

伙计,请解释你想做什么,而不是怎么做。 您不将参数传递给没有意义的表单。 说明您的目标是什么,我也许可以帮助您。

如果你想通过表单将参数从 url 传递到你的 Controller ,你只需创建一个隐藏字段并使用 params[:param_name] 设置它的值

编辑==============

您必须使用 url_for 或 polymorphic_path 来生成带参数的 url。 喜欢:

    form_tag(:url => url_for(...path_with_parameters))

form_tag(:url => polymorphic_path(...path_with_parameters))

关于ruby-on-rails-3.2 - 如何将参数传递给 rails form_tag?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13306653/

相关文章:

ruby-on-rails - Rails 控制台 - 进程已完成,退出代码为 0

ruby - 如何反转 Date.parse()

ruby-on-rails - 预编译 Assets 失败且 rake 中止

ruby-on-rails - Rails/Tire –防止索引属性

javascript - 可用于 Rails 应用程序其余部分的一组 CoffeeScript/JavaScript 类和方法

ruby-on-rails - 在登录 Facebook 时设计 + Omniauth 调用操作传递

ruby - bundle 安装时出现 json gem 安装错误

ruby - Rails 4 升级后格式化程序错误的未定义方法 `tagged'

mysql - Rails 3.2 + ruby​​2 + mysql2 + NoMethodError : undefined method `query' for nil:NilClass

ruby-on-rails - 自定义消息验证不工作的存在