Я думаю, что здесь происходит то, что вы храните два ActiveRecord::Relation
, но рельсы на самом деле не дают результатов.В результате ваш планшет не работает так, как вы ожидаете.
ВОПРОС Пытаетесь ли вы получить все здания, в которых название похоже на building_name ИЛИ space_type
или building_name
И space_type
.Приведенное ниже решение предполагает последнее, пожалуйста, дайте мне знать, если это первое.
Не могли бы вы попробовать это:
@search = Building.joins('INNER JOIN "floors" ON "floors"."building_id" = "buildings"."id" INNER JOIN "spaces" ON "spaces".floor_id = "floors".id')
@search = @search.where("buildings.name like ?", params[:building_name]) if params[:building_name]
@search = @search.where("Spaces.space_type_id = ?", params[:space_type][:space_type_id]) if params[:space_type][:space_type_id]
@building = @search
Это должно охватывать ваш запрос в соответствии с каждым критерием, но возвращать только значениякогда они вам нужны.