在Rails中搜索特定网址的表单

时间:2014-01-13 20:43:08

标签: ruby-on-rails ruby-on-rails-4

我正在使用simple_hashtag gem(https://github.com/ralovely/simple_hashtag

我对这些主题标签的路线如下所示:

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

因此,要显示主题标记design,网址将为/hashtags/design

我想在此页面上创建搜索表单,以便用户可以搜索主题标签,并使用相应的主题标签重定向到此网址。

我该如何做到这一点?

1 个答案:

答案 0 :(得分:0)

gem包含ActiveRecord::Base模型SimpleHashtag,可用于搜索主题标签。您的表单可能如下所示:

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

原因是你必须用实际存在的路径助手替换your_result_path。然后在接收数据的控制器操作中,您可以使用此代码来提供搜索结果:

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

然后在视图中,您可以遍历可以作为@results访问的结果。

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