2010-10-19 137 views
0

我對rails非常陌生,希望這應該是一個快速修復。我正在編寫一個應用程序,用於搜索數據庫並重新載入顯示所需結果的頁面。在rails中,如何將輸入保存到text_field中並將其發佈,以便可以在查詢中檢索和使用它以檢索數據。Ruby on Rails,發佈變量

我的觀點:

<title></title> 
</head> 

<body> 

    Search Collection <br> 
    <%= text_field "person", "name" %> 
    <%= select_tag(:search_id, '<option value="0">Search by</option><option  value="1">Make</option><option value="2">Condition</option> 
           <option value="3">Sport</option>') %> 
     <%= link_to 'New catalog', new_catalog_path %> 
    <br> 
    <br> 
    <%= link_to "Search", :search_text => , :action => :index %> <br> 
    <br> 


    <h1>Results</h1> 
    <%= will_paginate @catalogs %> 

    <table border="1"> 
     <tr> 
      <th>Catalog id</th> 

      <th>Year</th> 

      <th>Make</th> 

      <th>Card number</th> 

      <th>Number</th> 

      <th>Condition</th> 

      <th>Sport</th> 

      <th>Tracking list</th> 
     </tr> 
     <% for catalog in @catalogs %> 

     <tr> 
      <td><%= catalog.Catalog_ID %></td> 

      <td><%= catalog.Year %></td> 

      <td><%= catalog.Make %></td> 

      <td><%= catalog.Card_Number %></td> 

      <td><%= catalog.Number %></td> 

      <td><%= catalog.Condition %></td> 

      <td><%= catalog.Sport %></td> 

      <td><%= catalog.Tracking_List %></td> 

      <td><%= link_to 'Show', catalog %></td> 

      <td> 
      <%= link_to 'Edit', edit_catalog_path(catalog) %></td> 

      <td> 
      <%= link_to 'Destroy', catalog, :confirm => 'Are you sure?', :method => :delete %></td> 
     </tr> 
     <% end %> 
    </table> 
    <br> 

</body> 

我的控制器方法

def index 
@search_text = 'T206 White Border' 

@catalogs = Catalog.paginate_by_sql ['select * from catalogs where Make =\''+ @search_text+'\'' , 80000], :page => params[:page] 


end 

溫柔如果一個簡單的辦法,我還是習慣到整個MVC東西

回答

1

你的問題有一個很多繼續,所以讓我們嘗試一次一個整理。首先,我假設你的數據庫有一個名爲catalogs的表,其中有一個名爲make的列,並且你正在使用will_paginate插件。看起來您已經開始直接從文檔複製和修改一些示例。首先,你的控制器 - 你不需要更復雜的paginate_by_sql,你可以使用更簡單的paginate

控制器:

def index 
    @catalogs = Catalog.paginate(:all, :conditions => {:make => params[:search]}, :page => params[:page]) 
end 

現在您的看法,只是相關的搜索的東西:

<% form_tag catalogs_path, :method => :get do %> 
    <%= text_field_tag 'search' %> 
    <%= submit_tag 'submit search' %> 
<% end %> 

就是這樣。祝你好運!

+0

這已經解決了很多問題哈哈感謝一噸。你是明智的 – 2010-10-20 05:29:54

+0

嗨,它看起來像你是新的stackoverflow。通過接受我的回答,我得到了幫助你的信貸。如果你不接受來自幫助你的人的好答案,你最終會停止尋求幫助。每次提問時,都會顯示您的接受百分比,以便人們知道您是否接受答案。 – 2010-10-23 02:12:31