搜索框模型在哪里

时间:2014-08-25 21:26:00

标签: ruby-on-rails ruby

我有使用模型的问题。

我有艺术家控制器

  def search
@artists = Artist.where(params[:search])
end

并查看艺术家

<%= form_tag(search_path) do %>
<%= search_field_tag(:search,"Search") %>
<%= submit_tag("Search") %>
<% end %>

在局部视图中是所有艺术家

当我搜索某些内容时,我有错误。

SQLite3 :: SQLException:没有这样的列:test1:SELECT“artists”。* FROM“artists”WHERE(test1)

2 个答案:

答案 0 :(得分:1)

应该是:

   @artists = Artist.where("name = ?", params[:search])

   @artists = Artist.where(name: params[:search]) # It is better

答案 1 :(得分:0)

如果您只想搜索Artist.name,请尝试将查询更改为:

@artists = Artist.where("name = ?", params[:search])

这将产生一个看起来像

的SQL查询
SELECT "artists".* FROM "artists" WHERE ("name" = 'test1')

而不是错误消息中引用的那个。

有关查询及其工作方式的更多信息,您可能需要查看: http://guides.rubyonrails.org/active_record_querying.html#conditions