0

这是我的 index.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 上放置搜索的完整参数,我就可以找到他们

4

1 回答 1

0

你可以使用这个:

# 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 子句将返回所有记录。

于 2012-11-27T16:48:09.250 回答