【发布时间】:2014-04-28 19:01:17
【问题描述】:
我正在开发 Rails 中的搜索功能。我按照以下教程进行操作
http://railscasts.com/episodes/37-simple-search-form
因此,我使用以下内容更新了我的 tutorial.rb
def self.search(search)
if search
find(:all, :conditions => ['name LIKE ?', "%#{search}%"])
else
find(:all)
end
end
使用以下内容更新我的 tutorials_controller.rb
def index
@tutorials = Tutorial.search(params[:search])
end
最后是我的观点
<div id="search">
<%= form_tag tutorials_path, :method => 'get' do %>
<p>
<%= text_field_tag :search, params[:search] %>
<%= submit_tag "Search", :name => nil, :class => "btn btn-success" %>
</p>
<% end %>
</div>
所以一切都在显示。当我点击搜索框时,我收到以下错误。
ActiveRecord::StatementInvalid in TutorialsController#index
SQLite3::SQLException: no such column: name: SELECT "tutorials".* FROM "tutorials" WHERE (name LIKE '%%')
非常感谢任何帮助。对此仍然很陌生,并且对我的深度有所了解。我可以看到它在从数据库中获取信息时遇到问题,但不知道如何解决它。
干杯!
【问题讨论】:
-
That particular tutorial 快七岁了。在此期间情况很可能发生了变化。
-
应该看到了!感谢您指出了这一点。有更好的来源吗?
标签: ruby-on-rails ruby database search sqlite