从表单参数

时间:2015-12-05 01:15:00

标签: html ruby-on-rails parameters routes

我目前正在开发一种工具,它采用表单输入标签并根据这些输入生成页面

我的表格如下:

<%= form_tag({:action => "show", :controller => "tool"}) do %>
  ....
  ....
  ....
<% end %>

在我的控制器中我有这样的show方法:

  def show
    param1 = params[:param1]
    param2  = params[:param2]
    param3  = params[:param3]
    param4  = params[:param4]

    #process params

  end

然后我有我的show.html.erb来处理show方法。为了这个工作,我有我的

routes.rb中:

  match "/tool" => "tool#index"
  match "/tool/show/" => "tool#show"

我希望网址显示所有参数,例如/tool/param1/param2/...,而不仅仅是/tool/show/。我尝试将以下内容添加到路由

match "/tool/show/:param1/:param2" => "tool#show"

但它会搞砸,因为我的表单只调用show。如何使用方法show创建一个包含所有参数的链接,并在提交表单后生成参数

1 个答案:

答案 0 :(得分:0)

您是否需要将参数用斜杠分隔,或者是GET参数的常用方法?例如,像这样:

<强> /帖/ 5电子邮件= DEF&安培;消息= GHI&安培;名称= ABC

您可以使用您的URL帮助程序使用以下代码创建类似的链接:

<%= link_to "link text", post_path(name: @post.name, email: @post.email, message: @post.message) %>