如何使用'like'进行Sql查询?

时间:2013-12-09 15:53:39

标签: sinatra sequel

我正在尝试实施一个表单来搜索帖子的标题。

这是控制器代码:

post '/search'  do
@results = Post.all(:Title.like => "%#{params[:query]}%")
erb :layout 
end

这是layout.erb代码:

<form action="/search" method="post">
 <input type="text" name="query"/><br />   
 <input type="submit" />
</form>
<% if @results %>
 <table>
  <%@results.each do |r|%>
  <tr valign="top">
  <td><%=r.Title%></td>
  </tr>
  <%end%>
 </table>
<% end %>

我收到一条错误,说'未定义的方法'就像'for:Title:Symbol'。

2 个答案:

答案 0 :(得分:0)

尝试

  

@results = DB [:posts] .where(Sequel.like(:Title,“%#{params [:query]}%”))

答案 1 :(得分:0)

@results = DB[:posts].where{title.like("%#{params[:query]}%")}

参考:https://github.com/jeremyevans/sequel/issues/1103