Есть ли шанс, что вы опишите немного больше, чего вы пытаетесь достичь?У вас есть таблица активов.Похоже, что именно здесь вы должны поместить «заголовок» и вернуть все строки, в которых совпадает ваш поиск LIKE.
И вместо перечисления нескольких операторов принадлежащих вам, вы можете вместо этого сделать эту таблицу полиморфной:
class Asset < ActiveRecord::Base
belongs_to :assetable, :polymorphic => true
:
:
end
И затем в каждой из других моделей ...
class Project < ActiveRecord::Base
has_many :assets, :as => :assetable
end
Таким образом, каждый актив будет иметь доступную для поиска запись в активах.Используйте направляющие или посмотрите, как рельсы Райана Бейтса наложены на полиморфные ассоциации .
Я с нетерпением жду дополнительной информации.
## ОБНОВЛЕНИЕ##
Внутри вашей модели активов создайте метод класса (например, поиск) следующим образом:
def self.search(params) # these are from your search form
self.where("title like ?", "%#{params[:search]}%"
end
Params [: search] - это параметры формы вашей формы, аМодель активов извлекает все записи, которые соответствуют.Ваш набор данных будет иметь монтируемые тип_схемы и тип_схемы (это другая модель).Вы можете отобразить их в виде ссылок или использовать эти данные для получения дополнительной информации для каждой возвращаемой модели и т. Д.
Ключ, о котором вы прочтете и который мне объяснили, заключается в том, чтобы нажать как можно большую часть этой информации.тип логики для модели (толстые модели) и держать ваши контроллеры тонкими.
Надеюсь, это поможет!