Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/search/2.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 搜索不会在Rails中找到所有帖子。只有两三个_Ruby On Rails_Search - Fatal编程技术网

Ruby on rails 搜索不会在Rails中找到所有帖子。只有两三个

Ruby on rails 搜索不会在Rails中找到所有帖子。只有两三个,ruby-on-rails,search,Ruby On Rails,Search,我为我的网站编写了搜索功能。它起作用了。但是它不会找到所有的帖子。只是其中的一些2-3。但当我在数据库中搜索它时,它会找到所有和更多的结果 我的模型: def self.search(query) where("title like ?", "%#{query}%") end 控制器: if params[:search] @posts = Post.search(params[:search]).order("id DESC").limit(10) else @posts =

我为我的网站编写了搜索功能。它起作用了。但是它不会找到所有的帖子。只是其中的一些2-3。但当我在数据库中搜索它时,它会找到所有和更多的结果

我的模型:

def self.search(query)
    where("title like ?", "%#{query}%")
end
控制器:

if params[:search]
  @posts = Post.search(params[:search]).order("id DESC").limit(10)
else
  @posts = Post.all.order('id DESC').limit(10)
end
在以下观点中:

<%= form_tag('/find', :method => "get", id: "search-form") do %>
          <%= text_field_tag :search, params[:search], :class => "search" %>
          <%= submit_tag "Search", :name => nil %>
      <% end %>

<div class="posts">
    <% @posts.each do |post| %>
        <%= post.title %>
    <% end %>
</div>
为什么不打印所有结果?

很少有更改: 模态

def self.searchquery wheretitle-like:title,title:%{query.strip.chomp}% 终止

控制器

如果参数有_键?:搜索 @posts=Post.searchparams[:search].orderid DESC.limit10 其他的 @posts=Post.all.order'id DESC'.limit10 终止


试试这个,如果这个仍然不起作用,请返回一个重现此问题的示例应用程序

下一个错误:mysql2::error:您的SQL语法有错误;检查与您的MySQL服务器版本相对应的手册,以了解在第1行“%”new“%ORDER BY id DESC LIMIT 10”附近使用的正确语法:选择posts.*从posts`WHERE title like%'new“%ORDER BY id DESC LIMIT 10`尝试更新后的代码以了解modal。这仍然会产生错误吗?