我有一个字符表示从 a 到 z 的字母,我需要在服务器上找到,只需单击字母表中的字母即可



这是我的索引.html.erb

<% for char in 'A'..'Z' %>
  <a href="/pacientes?char=<%= char%>"><%= char%></a>
<% end %>

这是我的控制器:

if params[:char].nil?
  @pacientes = Paciente.all
elsif
  @pacientes = Paciente.where("apellido1 = ?", @char = params[:char])
end
respond_to do |format|
  format.html # index.html.erb
  format.json { render json: @pacientes }
end

我需要的是当我单击字母 A 时,所有以字母 A 开头的人,此时我可以找到他们,如果在 URL 上放置搜索的完整参数

你可以使用这个:

# in the controller
if params[:char].nil?
  @pacientes = Paciente.all
elsif
  @pacientes = Paciente.where("apellido1 LIKE ?", "#{params[:char]}%")
end
respond_to do |format|
  format.html # index.html.erb
  format.json { render json: @pacientes }
end

较短的版本

# in the controller
@pacientes = Paciente.where("apellido1 LIKE ?", "#{params[:char]}%")
respond_to do |format|
  format.html # index.html.erb
  format.json { render json: @pacientes }
end

对于较短的版本,如果 params[:char] 为 nil,则 where 子句将返回所有记录。

最新更新