我有一个字母来自a到z的字母,我需要在服务器上找到只需点击字母表的字母

时间:2012-11-27 16:40:04

标签: ruby-on-rails char

这是我的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开头的人时,此时我只能在网址上找到它们我会放置搜索的完整参数

1 个答案:

答案 0 :(得分: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子句将返回所有记录。