Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/65.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 我能';t获取要渲染的搜索表单和结果视图-使用Thinking sphinx进行现有搜索_Ruby On Rails_Views_Rails Routing - Fatal编程技术网

Ruby on rails 我能';t获取要渲染的搜索表单和结果视图-使用Thinking sphinx进行现有搜索

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显示匹配文章的列表 问题:我发现我真的不明白视图实际上是如何呈现的。我也不确定我的路线是否正确。我尝试过不同的方法,但由于某种原因,我发现所有的例子都是不同

我有一个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