-1

Railscast のエピソード 111 をフォローしました。

http://railscasts.com/episodes/111-advanced-search-form-revised?view=asciicast

機種名を変えましたが、その他は基本的に同じです。エラーが表示されるコードのみを表示したい: Controller:

   def suche
     @search = Search.find(params[:id])
   end

モデル:

  class Search < ActiveRecord::Base
  attr_accessible :ausdruck, :keyword, :maximum, :minimum, :rund, :zeitraum

   def patients
@patients ||= find_patients
   end

   private

   def find_patients
     patients = Patients.order(:vorname)
     patients = patients.where("vorname like ?", "%#{keyword}%") if keyword.present?
     patients
   end
 end

そして私の見解

<%= @search.patients.each do |f| %>
  <%= f %>
<% end %>

どういうわけか私はこのエラーを受け取ります:

NameError in Patients#suche

Showing C:/geburtstag/app/app/views/patients/suche.html.erb where line #1 raised:

uninitialized constant Search::Patients
Extracted source (around line #1):

1: <%= @search.patients.each do |f| %> 

患者モデル:

 class Patient < ActiveRecord::Base
    attr_accessible :drucken, :extraanrede, :extratext, :geburtsdatum, :geschlecht,:nachname, :vorname
 scope :drucken, where(:drucken => true)
 end
4

1 に答える 1

2

レールのクラス名は単数形なので、

Patient.order(:vorname)

あなたのfind_patientsメソッドで。

于 2013-09-14T11:42:54.157 に答える