Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Ruby On Rails > Реализация поиска в форуме


Автор: shurec 8.7.2010, 11:13
Есть стандартный тестовый форум. В котором есть ветки форума(forums), темы(topics) и сообщения(messages). 
Хочу реализовать для начала поиск в:
1. Названии ветки форума.
2. Назвнии темы
3. Заголовка сообщения
4. Текста сообщения
Для этого при нажатии на кнопку создал формочку(создавал по рэилскастам):
Код

<% form_tag forums_path, :method => 'get' do%>
    <%= h text_field_tag :search%>
    <%=submit_tag "Search", :name => nil%>
<% end %>

Проверяю пока на верхнем уровне в отображении веток форума. Хочу, чтобы по нажатии на кнопку, при наличии параметра была переадресация на страницу с результатом поиска.
Но первая же проблема - не знаю как сделать переадресацию с формы. 
После вызова "Search" идет возврат на ту же страницу, т.е. вызывается метод индекс в контроллере. Попробовал там проверяя условие сделать переадресацию:
Код

    if(params[:search])
        redirect_to(topics_path)
    end

 Но пишет 
Цитата

Can only render or redirect once per action

Помогите сделать переадресацию с формы, пожалуйста.

Автор: source777 9.7.2010, 17:33
В рамках MVC редирект возможен только из контроллера, в твоём случае из ForumsController#index.

P.S. Дабы не изобретать велосипед, полезно будет ознакомиться с http://github.com/binarylogic/searchlogic или с http://github.com/ernie/meta_search (для RoR 3)

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)