2014-01-13 2 views
0

Я использую simple_hashtag камень (https://github.com/ralovely/simple_hashtag)Форма поиска в Rails для конкретного URL

Мои маршруты для этих хэштегов выглядеть следующим образом:

get 'hashtags/:hashtag', to: 'hashtags#show',  as: :hashtag 

Так, чтобы показать хэштегом design URL-адрес будет /hashtags/design.

Я хотел бы создать форму поиска на этой странице, чтобы пользователи могли искать хешстаг и перенаправлять этот URL с соответствующими хэштегами.

Как это сделать?

ответ

0

Жемчужина включает в себя модель ActiveRecord::BaseSimpleHashtag, которая может быть использована для поиска хэштегов. Ваша форма может выглядеть следующим образом:

<%= form_for :search, :url => your_result_path do |f| %> 
    <%= f.text_field :q %><br /> 
    <%= f.submit "Search" %> 
<% end %> 

причины вы должны заменить your_result_path с помощником пути, который на самом деле существует. Затем в действии контроллера, который принимает данные, которые вы можете использовать этот код для Provice результатов поиска:

@results = SimpleHashtag.where("name LIKE ?", "%#{params[:search][:q]}%") 

Затем в окне вы можете перебрать результаты, которые, как @results, доступные.

<ul> 
<% @results.each do |result| %> 
    <li><%= link_to result.name, result %></li> 
<% end %> 
</ul> 
+0

Благодарим за ответ @davidb. Это дает мне ошибку 'undefined method" [] "для nil: NilClass' и указывает на переменную в контроллере –

+0

Пожалуйста, разместите весь звонок из своего журнала, когда вы попробуете это, включая параметры. – davidb

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