Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/57.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 RubyonRails-模型索引搜索_Ruby On Rails_Forms_Search_Models - Fatal编程技术网

Ruby on rails RubyonRails-模型索引搜索

Ruby on rails RubyonRails-模型索引搜索,ruby-on-rails,forms,search,models,Ruby On Rails,Forms,Search,Models,我希望能够搜索和更新索引 这是我的控制器方法: def index if params[:search] @ofertas = Oferta.search(params[:search]).paginate(page: params[:ofertas_page], :per_page => 5) else @ofertas = Oferta.all.paginate(page: params[:ofertas_page], :per_page =&g

我希望能够搜索和更新索引

这是我的控制器方法:

def index
    if params[:search]
      @ofertas = Oferta.search(params[:search]).paginate(page: params[:ofertas_page], :per_page => 5)
    else
      @ofertas = Oferta.all.paginate(page: params[:ofertas_page], :per_page => 5)
    end
  end
我在模型中的搜索方法

def self.search(search)
    where("titulo like ?","%w{search}%")
  end
这是搜索表

<%= form_tag ofertas_path, :method => 'get' do %>
  <p>
    <%= text_field_tag :search, params[:search], placeholder: "Procurar Entidades" %>
    <%= submit_tag "Procurar", :name => nil %>
  </p>
<% end %>
“get”do%>

零%>

我在许多搜索教程中看到过这种设置,但无论我键入什么,都不会显示任何内容。有人知道我做错了什么吗

where("titulo like ?","%w{search}%")
应该是:

where("titulo like ?", "%#{search}%")
#{xxx}
用于字符串插值-它允许您将ruby(包括变量)注入字符串

“%xxxx%”
告诉SQL搜索字符串可以出现在titulo列的任何位置。“%”是SQL中的通配符

%w{xxx yyy zzz}
[“xxx”,“yyy”,“zzz”]
的缩写-Ruby中的一个数组,作为字符串本身对SQL没有多大意义

应该是:

where("titulo like ?", "%#{search}%")
#{xxx}
用于字符串插值-它允许您将ruby(包括变量)注入字符串

“%xxxx%”
告诉SQL搜索字符串可以出现在titulo列的任何位置。“%”是SQL中的通配符


%w{xxx yyy zzz}
[“xxx”,“yyy”,“zzz”]
的简写形式-Ruby中的一个数组,作为字符串本身对SQL没有多大意义。

看起来您试图在字符串中插入
搜索变量,但没有得到正确的符号。这个怎么样:

"%#{search}%"

请注意,
#
而不是
w

看起来您试图在字符串中插入
search
变量,但没有得到正确的符号。这个怎么样:

"%#{search}%"
注意
#
而不是
w