我正在使用Rails 4,并且Policy
模型的字段为policy_number
。
我想创建一个(类似于搜索的)表单,您可以在其中输入policy_number
并将其重定向到该策略的显示页面。如果表单的行为是policy_path
或其他什么,我不知道如何解决这个问题?
谢谢!
答案 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,模糊匹配等。