Ruby on rails 我能';t获取要渲染的搜索表单和结果视图-使用Thinking sphinx进行现有搜索
我有一个2.3.11Rails应用程序,我想添加一个全文搜索,以便能够搜索“文章”的内容和标题。我用斯芬克斯思考来达到这个目的。我只想点击主页上的搜索链接“/advanced\u search”(指向“/advanced\u search”)并打开搜索表单,然后在提交搜索表单后,使用另一个视图search\u results.html.erb显示匹配文章的列表 问题:我发现我真的不明白视图实际上是如何呈现的。我也不确定我的路线是否正确。我尝试过不同的方法,但由于某种原因,我发现所有的例子都是不同的 所以我有一个搜索表单/控制器/文章控制器/高级搜索:Ruby on rails 我能';t获取要渲染的搜索表单和结果视图-使用Thinking sphinx进行现有搜索,ruby-on-rails,views,rails-routing,Ruby On Rails,Views,Rails Routing,我有一个2.3.11Rails应用程序,我想添加一个全文搜索,以便能够搜索“文章”的内容和标题。我用斯芬克斯思考来达到这个目的。我只想点击主页上的搜索链接“/advanced\u search”(指向“/advanced\u search”)并打开搜索表单,然后在提交搜索表单后,使用另一个视图search\u results.html.erb显示匹配文章的列表 问题:我发现我真的不明白视图实际上是如何呈现的。我也不确定我的路线是否正确。我尝试过不同的方法,但由于某种原因,我发现所有的例子都是不同
<% form_tag :controller => 'articles', :action => 'search', :method => 'get' do %>
<%= text_field_tag :search, params[:search], :id => 'search_field' %>
<%= submit_tag 'Search', :name => nil %>
<% end %>
结束
def搜索
@articles=Article.search参数[:search]
respond_to do |format|
format.html #
format.xml { render :xml => @articles }
format.json { render :json => @articles }
end
结束
结束
在my routes.rb中,我有一行,这可能是不正确的,但是当我取出它时,我得到了路由错误“No route matches”/advance_search,带有{method=>get}
map.connect 'advance_search', :controller => "articles, :action => search
假设其他一切都是正确的,我将非常感谢您提供有关如何正确呈现我的视图的任何想法。让我感到困惑的一个问题是,嵌套路由的使用我考虑过了。我现在找到了解决这个问题的办法。我很想给任何有同样问题的人留下一个直截了当的答案,但不幸的是,我的解决方案并没有回答这个问题,因为我用了一种完全不同的方式。然而,我后来注意到,事实上还有其他类似的问题得到了回答
respond_to do |format|
format.html # index.html.erb
format.xml { render :xml => @articles }
format.json { render :json => @articles }
end
respond_to do |format|
format.html #
format.xml { render :xml => @articles }
format.json { render :json => @articles }
end
map.connect 'advance_search', :controller => "articles, :action => search