【发布时间】:2014-08-30 21:42:52
【问题描述】:
我想按名称简单搜索用户索引
模型用户.rb
def self.search(query)
where("username LIKE ?", "%#{query}%")
end
查看我刚刚拥有的用户index.html.erb
<%= form_tag users_search_path, :method => 'get' do %>
<td><%= text_field_tag :search, params[:search] %></td>
<%= submit_tag "Search", :class => "buttons buttons-rounded buttons-flat-action", :id => "button-new"%>
<br><br><br>
<% end %>
控制器
@page = params[:page]
@search = params[:search];
def index
if params[:search]
@users = User.search(params[:search]).paginate(:page => params[:page], :per_page => @page)
else
@users = User.order(:username).joins(:biography).where("`is_active?` = true AND `last_sign_in_at` > DATE_SUB(NOW(), INTERVAL 6 MONTH) ").paginate(:page => params[:page], :per_page => @page)
end
end
def search
Rails.logger.debug("event1: #{@search}")
redirect_to users_path
index
Rails.logger.debug("search start")
end
当我点击搜索按钮时,调试器信息是
D, [2014-07-09T13:10:50.755373 #5501] DEBUG -- : event1:
D, [2014-07-09T13:10:50.755508 #5501] DEBUG -- : event1:
【问题讨论】:
-
不工作是什么意思?调用这个方法会得到什么?
-
您必须指定“不工作”的含义。你得到一个特定的错误吗?如果是这样,发布堆栈跟踪。
标签: ruby-on-rails search