2015-05-29 86 views
0

我正在使用導軌4,並有一個Policy模型與字段policy_number導軌形式,重定向顯示頁面

我想創建一個(類似搜索)表單,輸入policy_number並將其重定向到該策略的展示頁面。我不知道該怎麼做,如果表單的動作是policy_path什麼的?

謝謝!

+0

我會用Ajax調用... –

回答

1

這裏最大的問題是,用戶在搜索表單中輸入了保單號,因此在表單呈現時您無法訪問保單號。在不使用JavaScript的情況下,您將無法直接通過輸入的政策編號轉到政策。

雖然這是一個可能的起點。使用index方法創建一個PolicySearchController,爲其添加一個路由,並創建一個簡單表單。

應用程序/控制器/ 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,模糊匹配等。

+0

它是否必須是一個新的控制器?即我可以在現有的方法中添加一個方法嗎? – Vasseurth

+0

當然,您可以將其作爲非RESTful操作添加到現有控制器。 – Curtis