我的控制器:
def index
@three_data = Threeddatum.all
@three_data = @three_data.search(params[:search]) if params[:search].present?
end
我的模特:
def self.search(search)
if search
self.where("area LIKE ?", "%#{:search}%")
else
self.all
end
end
我的观点:
<%= form_tag('/threeddata', method: :get) do %>
<%= text_field_tag :search, params[:search] %>
<%= submit_tag "Search", name: nil %>
<% end %>
<% @three_data.each do |data| %>
<td><%= data.tape_id %></td>
<td><%= data.media_type %></td>
<td><%= data.area %></td>
<td><%= data.aqdate %></td>
<td><%= data.clocation %></td>
<% end %>
我有一个区号为SD-DWN-2309/5的字段 但是当我在搜索字段中输入DWN时,它不会返回任何行。 请帮助因为我真的似乎没有找到引起这个问题的问题。
答案 0 :(得分:1)
将您的代码"%#{:search}%"
更改为"%#{search}%"
def self.search(search)
if search
self.where("area LIKE ?", "%#{search}%")
else
self.all
end
end
希望它有所帮助!