Rails将`id`传递给表单

时间:2015-07-01 11:30:05

标签: ruby-on-rails ruby forms

我有一个模型Item和标准控制器,用于审核项目,index& show行动。我想在输入字段中填写id,然后转到我传递给我的ID的show路由。

以下是代码:

= form_tag items_path, method: :get, enforce_utf8: false do
  = text_field_tag :id, nil, class: 'item_search_field form-control'
  = submit_tag t('.submit'), name: nil, class: 'btn btn-success'

但是在我通过id后,说55后,我转到items#index并将id作为参数:

http://localhost:3000/items/?id=55

当我将代码填入localhost:3000/items/55字段时,我该怎么做id

2 个答案:

答案 0 :(得分:1)

您可以在索引中重定向:

def index
  if params[:id]
    redirect_to item_path(params[:id]) and return
  end
  ...
end

答案 1 :(得分:0)

单独使用服务器端代码无法实现您的目标:您需要使用javascript来获取用户的输入并构建正确的URL。使用GET方法的表单附加查询字符串参数,这是您所看到的,没有javascript就无法更改它。