我有一个侧边栏,可以在我的application_controller中获取文章,但我想为它添加一个搜索功能,所以我修改它看起来像这样
def fetch_articless
@articles = Article.search(params[:search])
end
搜索工作正常,但我目前将表单提交给我的应用程序root,因此如果您搜索,它总是会重定向到根目录。
<%= form_tag root_path, :method => 'get' do %>
<p>
<%= text_field_tag :search, params[:search] %>
<%= submit_tag "Search", :title => nil %>
</p>
<% end %>
由于我的侧边栏位于每个页面上,我希望能够将我的表单提交到我当前所在的任何页面,并且将通过应用程序帮助程序执行搜索。我认为我需要建立一条新的路线,但是对Rails不熟悉我还不太了解路线是如何工作的。
非常感谢任何帮助。
答案 0 :(得分:1)
方法url_for
将返回当前网址。并且,您始终可以使用''
(空字符串)将表单操作提交到当前页面
注意 - 使用搜索框,我倾向于使用<form>
标签(没有erb),所以它不包含特殊字符(它是一个雪人*),我使用常规输入提交标签,所以它不提交按钮的name=value
。