我正在創建一個跟蹤用戶和成就的應用程序(想想,xbox live等)。這些表通過連接錶鏈接。我希望在索引上有一個搜索表單,用戶可以輸入用戶名稱,並在新頁面中加載用戶獲得的所有成就列表。我不完全確定如何在索引上設置此搜索表單,以實際搜索用戶表並將結果返回到新頁面。任何幫助將不勝感激。如果您需要更多信息,我會很樂意提供。Rails搜索表單
5
A
回答
5
下面是一些框架代碼,讓你開始根據你所說的需要開始。我希望這是有用的。
對於搜索位,你可以做這樣的事情在你的索引視圖:
<%= form_for User.new, :url => "search" do |f| %>
<%= f.label :name %>
<%- f.text_field :name %>
<%- end %>
在你的控制器:
def search
q = params[:user][:name]
@users = User.find(:all, :conditions => ["name LIKE %?%",q])
end
,並在您的搜索視圖:
<%[email protected] do |user| %>
Name: <%=user.name %>
<%- user.achievements.each do |achievement| %>
<%= achievement.name %>
<%- end %>
<%- end %>
當然,您需要確保用戶和成就模型正確鏈接:
class User << ActiveRecord::Base
has_many :achievements
end
2
有很多教程和事物的這個如:
http://blog.devinterface.com/2010/05/how-to-model-a-custom-search-form-in-rails/
看的東西是在Rails3中開始,由他們提供的初始教程每一個基本解釋解釋你如何設置一個新的控制器/模型。這個例子只有數千個解釋同樣的問題。
這是一個非常廣泛的不同的事情,你可以做到這一點。基本上,你必須把一些代碼在控制器:
- 它處理搜索(包括ActiveRecord的東西,或任何技術,你用它來訪問你的模型)
- 其中設置一些必要的變量爲搜索表單
設置兩條路線等...它的廣泛和完全覆蓋,即使是基本的官方rails3教程。
0
這是基於searchlogic的應用是非常有用的,你可以搜索通過任何你想要的
https://github.com/railscasts/176-searchlogic
0
你可能要檢查出洗劫的寶石。 https://github.com/activerecord-hackery/ransack
相關問題
- 1. Rails:搜索表單在boostrap導航欄
- 2. Rails - 搜索表單返回錯誤
- 3. Rails Elasticsearch預測搜索表單建議
- 4. Rails表單搜索或創建
- 5. Ruby on Rails:在表單上搜索collection_check_boxes
- 6. Rails的相關搜索表單
- 7. 帶有acts_as_taggable_on的搜索表單(Rails 3)
- 8. Rails搜索表單無法工作
- 9. Ruby on Rails:搜索表單 - 多個搜索字段
- 10. ruby on rails實現搜索多個關係的搜索表單
- 11. 簡單搜索和Rails
- 12. 搜索多個表格Rails
- 13. Symfony搜索表單
- 14. PHP搜索表單
- 15. RoboBrowser搜索表單
- 16. JavaScript搜索表單
- 17. CodeIgniter搜索表單
- 18. 搜索表單的搜索結果
- 19. 用搜索表單搜索HTML DOM樹
- 20. Rails 4:簡單的搜索表單與錯誤的重定向
- 21. Ruby on Rails - 簡單表單自動完成關聯搜索
- 22. Rails中的簡單搜索表單錯誤
- 23. rails 4簡單的搜索表單,供用戶查找對方
- 24. 如何讓搜索表單實際執行搜索查詢(在Rails中)
- 25. Rails搜索表單返回錯誤找不到產品'id'=搜索
- 26. Rails + SQLite3:搜索?
- 27. SImple Rails搜索
- 28. Rails Ajax搜索
- 29. Rails簡單搜索從Railscast不顯示
- 30. 在Rails中搜索標籤的訂單
謝謝,但該教程沒有給出一個非常明確的解釋,至少對我來說,它需要你使用formtastic。感謝谷歌搜索,但如果它可以分解更容易讓我理解,再次,我會很感激。 – SalsaSalsa
有沒有任何翻譯的鏈接? –
@AliQanavatian你可以簡單地點擊右側的英語作爲語言 – fyr