Ruby on rails ActiveRecord语句无效(Ruby on Rails)
因此,在尝试搜索时,我不断遇到以下错误:Ruby on rails ActiveRecord语句无效(Ruby on Rails),ruby-on-rails,Ruby On Rails,因此,在尝试搜索时,我不断遇到以下错误: ActiveRecord::StatementInvalid in Clients#search SQLite3::SQLException: no such column: client: SELECT COUNT(*) FROM "clients" WHERE (client = '') client.rb(型号) index.html.erb <div id="client-search"> <%= render(:p
ActiveRecord::StatementInvalid in Clients#search
SQLite3::SQLException: no such column: client: SELECT COUNT(*) FROM "clients" WHERE (client = '')
client.rb(型号)
index.html.erb
<div id="client-search">
<%= render(:partial=>'/search',:locals=>
{ :my_path => "/clients/search" })%>
</div>
<%= form_tag my_path do %>
<h6>Search Customer</h6>
<%= text_field_tag :search_string %>
<%= submit_tag 'Search' %>
<% end %>
\u search.html.erb
<div id="client-search">
<%= render(:partial=>'/search',:locals=>
{ :my_path => "/clients/search" })%>
</div>
<%= form_tag my_path do %>
<h6>Search Customer</h6>
<%= text_field_tag :search_string %>
<%= submit_tag 'Search' %>
<% end %>
搜索客户
有没有可能有人能帮我解决这个问题?客户表中是否有一个名为
client
的列
顺便说一下,如果有,您可以使用:
def self.simple_search(search_string)
self.where(client:, search_string)
end
在
clients
表中没有名为client
的列。也许您需要搜索名称
或其他属性
def self.simple_search(search_string)
self.where("{put the column name you want to be searching here} = ?", search_string)
end
但在大多数情况下,您需要执行以下操作:
self.where("{put the column name you want to be searching here} LIKE '%?%'", search_string)
更进一步说,只需将其作为模型的作用域而不是方法。结果表明,我的本意是在列中使用“name”而不是“client”。非常感谢大家D