我有使用模型的问题。
我有艺术家控制器
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)
答案 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