我執行搜索和我有我的SQL /發現一些困難。Rails 3 - 循環獲取集合?
基本上,我有一個喜歡的頁面,是可以獲得的收藏夾收藏有:
@favorites = current_user.votes
在視圖中,我然後依次通過我的最愛,並且可以調用.voteable上他們得到實際的對象這是投票。這使我很難編寫搜索。
我想知道是否有可能改變我原來的集合,因此,我真的開始每次乾涸我看來,.voteable對象/幫我寫我的搜索。我不能叫current_user.votes.voteables但單項可以這樣做current_user.votes.first.voteable
我已經嘗試是像這樣一個循環:
@favorites = current_user.votes.each {|vote| vote.voteable }
哪項是錯誤的,而且我我只是再次得到我的選票,而不是實際的可投票對象。我只是想知道是否有辦法讓這些可投票通過我這樣的投票循環。
任何指針將幫助,謝謝。
編輯:
擴展了我的意思被搜索:
我建立在搜索自我模型的方法,這裏有一個例子:
def self.search(search)
if search
where('title LIKE ?', "%#{search}%")
else
scoped
end
end
我通過搜索從視圖上看,採用如下形式:
<div id="search_form">
<%= form_tag topic_links_path, :method => 'get', :id => "links_search" do %>
<%= text_field_tag :search, params[:search], :size => "35" %>
<%= submit_tag "Search", :name => nil %>
<% end %>
</div>
這樣,當我在t他可以通過調用.search(params [:search])來獲取與用戶在表單中輸入的內容類似的內容。我使用vote_fu寶石來處理投票/投票。
你可以展開你的意思是「搜索」?這是如何實施的?你正在寫自己的,使用寶石等? – 2011-03-11 19:05:07