Rails形式重定向到显示页面

时间:2015-05-29 20:03:51

标签: ruby-on-rails forms search

我正在使用Rails 4,并且Policy模型的字段为policy_number

我想创建一个(类似于搜索的)表单,您可以在其中输入policy_number并将其重定向到该策略的显示页面。如果表单的行为是policy_path或其他什么,我不知道如何解决这个问题?

谢谢!

1 个答案:

答案 0 :(得分:1)

此处最大的问题是用户正在搜索表单中输入策略编号,因此您无法在呈现表单时访问该编号。如果不使用JavaScript,您将无法通过输入的政策号直接转到该政策。

但这是一个可能的起点。使用PolicySearchController方法创建index,为其添加路线,然后创建一个简单的表单。

应用程序/控制器/ policy_search_controller.rb

class PolicySearchController < ApplicationController
  def index
    policy = Policy.where(policy_number: params[:policy_number]).first

    if policy.present?
      redirect_to policy
    else
      redirect_to :policies, alert: "No matching policy found."
    end
  end
end

配置/ routes.rb中

resources :policy_search, only: :index

应用程序/视图/策略/ index.html.erb

<%= form_tag policy_search_index_path, method: :get do -%>
  <%= text_field_tag :policy_number -%>
<% end -%>

现在,您可以根据需要对此进行迭代以添加JavaScript,模糊匹配等。