【问题标题】:Search for Site in rails在 rails 中搜索站点
【发布时间】:2012-08-09 22:29:53
【问题描述】:

我正在尝试创建一个可以检索信息的表单。到目前为止,我已经实现了一个模型和一个带有动作查询的控制器。

这是表格:

<%= form_tag "/search", :method => "get" do %>
  <%= text_field_tag :query, params[:query] %>
  <%= submit_tag "Search", :name => nil %>
<% end %>

我的控制器有:

定义查询 @results = Search.search(params[:query]) 结束

在我的模型中,我有:

def self.search(search)
  if search
    Customer.find(:all, :conditions => ['first LIKE ?', "%#{search}%"])
  else
    Customer.find(:all)
  end
end

但它给了我以下错误:

ActiveRecord::StatementInvalid in SearchesController#query

SQLite3::SQLException: no such column: first: SELECT "customers".* FROM "customers"  WHERE (first LIKE '%test%')

为什么我的代码会产生这个错误?

【问题讨论】:

  • 您的客户模型中真的有一个名为“第一”的列吗?你能显示 db/schema.rb 文件吗?

标签: ruby-on-rails ruby ruby-on-rails-3 ruby-on-rails-3.1


【解决方案1】:

这可能是因为您在数据库的客户表中没有第一列。

你的意思是 first_name 吗?

【讨论】:

    【解决方案2】:

    试试这个

    Customer.find(:all, :conditions => ["'first' LIKE ?", "%#{search}%"])
    

    【讨论】:

      猜你喜欢
      • 2012-01-19
      • 2016-02-10
      • 2022-01-15
      • 2013-10-27
      • 1970-01-01
      • 1970-01-01
      • 2010-11-23
      • 2011-01-14
      • 1970-01-01
      相关资源
      最近更新 更多