[英]rails search multiple attributes of multiple modules
我正在嘗試搜索Ticket
模型中的所有列。 大多數列都通過belongs_to
關聯進行關聯,因此我必須在我的列中搜索信息的屬性,因為人們不會知道這些ID。
這些文章有助於: 在Rails 3.0中搜索多個數據庫列
到目前為止,我有以下代碼,但它僅搜索頂部參數。 我如何獲得它,以便如果它在頂部搜索中找不到任何內容,它將嘗試下一個。 我將為此添加更多內容。
謝謝
def self.search(search)
if search
Ticket.joins(:submitter).where('first_name LIKE ?', "%#{search}%")
elsif
Ticket.joins(:issue).where('name LIKE ?', "%#{search}%")
else
all
end
end
我想通了,在這里更新了正確的代碼:
def self.search(search)
case search
when /^[-+]?[0-9]*\.?[0-9]+$/
Ticket.find(:all, :conditions => ['id LIKE :search', {:search => "%#{search}%"}])
else
Ticket.joins(:submitter,:issue).find(:all, :conditions => ['name LIKE :search OR first_name LIKE :search', {:search => "%#{search}%"}])
end
end
上面的更新代碼-找到答案
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.