我目前正在自学 Ruby on Rails 3,因为我想编写自己的应用程序和设计(完全是菜鸟)。我正在为一个简单的产品列表编写代码,我想集成一个简单的搜索功能,以便按 item_name 和/或 item_code 搜索项目。我收到此错误:
ItemsController#index 中的名称错误
未定义的局部变量或方法 `params' for #
这是我的代码:
模型
class Item < ActiveRecord::Base
attr_accessible :description, :item_code, :item_name
validates_uniqueness_of :item_code, :item_name
validates :item_name, :item_code, :presence => true
def self.search(query)
if query
find(:all, :conditions => ['item_name LIKE ?', "% #{params[query]} %"] )
else
find(:all)
end
end
end
看法:
<%= form_tag items_path, :method => 'get' do %>
<p>
<%= text_field_tag :search, nil, :placeholder => "Search items here" %>
<%= submit_tag "Search", :name => nil %>
</p>
<% end %>
控制器:
def index
@items = Item.search(params[:search])
end
我正在关注这个特定的截屏视频,不知道我做错了什么:http ://railscasts.com/episodes/37-simple-search-form?autoplay=true
谢谢!