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 に答える