2016-12-23 3 views
1

У меня есть простая форма поиска рельсов, которая будет выбирать ранг в столбце, в котором три разных рангов в таблице. Но я не могу распространять множественные ряды.Rails форма поиска для нескольких столбцов в таблице


Таблица еды: value1, rank_value1, значение2, rank_value2, value3, rank_value3

Просмотр /foods/index.html:

<%= form_tag foods_path, :method => 'get' do %> 
    <p> 
    rank_value1 
    <%= text_field_tag :rvalue1, params[:rvalue1] %> 
    <%= submit_tag "Search", :name => nil %> 
</p> 
<% end %> 

Модель food.rb:

def self.search(search) 
    if search 
     Food.where(["rank_value1= ?", "#{search}"]) 
    else 
     Food.all 
    end 
end 

Контроллер foods_controller.rb:

def index 
    @foods = Food.search(params[:rvalue1]) 
end 

Продлить две шеренги, я попробовал коды ниже, но это не сработало.

Просмотр /foods/index.html:

<%= form_tag foods_path, :method => 'get' do %> 
    <p> 
    rank_value1 
    <%= text_field_tag :rvalue1, params[:rvalue1] %> 
    <%= text_field_tag :rvalue2, params[:rvalue2] %> 
    <%= submit_tag "Search", :name => nil %> 
    </p> 
<% end %> 

Модель food.rb:

def self.search(search1,search2) 
    if search 
     Food.where(["rank_value1= ? and rank_value2=?", "#{search1}", "# {search2}"]) 
    else 
     Food.all 
    end 
end 

Контроллер foods_controller.rb:

def index 
    @foods = Food.search(params[:rvalue1], params[:rvalue2]) 
end 

Любые предложения по поиску данных в нескольких столбцах?

ответ

0

Эй, для поиска с несколькими значениями вы можете использовать драгоценный камень Ransack. Здесь вы можете посмотреть видео-учебник и ссылку github для реализации.

GitHub: https://github.com/activerecord-hackery/ransack

видео: http://railscasts.com/episodes/370-ransack

Надеется, что вы ищете это только.

Смежные вопросы