Ruby on rails Rails-简单搜索功能
我对rails还相当陌生,我正在建立一个在线商店来编写一些rails。我目前正在实现一个简单的搜索功能,并得到一些奇怪的行为,我无法解释 模型方法:Ruby on rails Rails-简单搜索功能,ruby-on-rails,Ruby On Rails,我对rails还相当陌生,我正在建立一个在线商店来编写一些rails。我目前正在实现一个简单的搜索功能,并得到一些奇怪的行为,我无法解释 模型方法: def self.search(query) where("title like ?", "%#{query}%") end 控制器方法E: def index if params[:search] @products = Product.search(params[:search]) else @products =
def self.search(query)
where("title like ?", "%#{query}%")
end
控制器方法E:
def index
if params[:search]
@products = Product.search(params[:search])
else
@products = []
#Only lists available products (in cart counts as available)
@available_items = Item.where(user_id: nil).select(:product_id).uniq
@available_items.each do |item|
@products << item.product
end
end
end
搜索表格:
<%= form_tag(products_path, :method => "get", id: "search-form", enforce_utf8: false) do %>
<%= text_field :search, params[:search], placeholder: "Search..." %>
<%= submit_tag "Search", :name => nil %>
<% end %>
当我触发搜索时,我没有得到任何结果,url如下所示:
当我从url中删除“%5B%5D”时,一切正常,我得到了结果。“%5B%5D'在URI编码中代表“[]”,但无法确定其来源。任何帮助都将不胜感激
最好的,
Paul查看文本字段和for text\u字段标记帮助器的工作原理:
<%= text_field :search, params[:search], placeholder: "Search..." %>
改为使用文本\字段\标记:
<input type="text" name="search[]" placeholder="Search..." />
<%= text_field_tag :search, params[:search], placeholder: "Search..." %>