レコードがデータベースから返されないという問題があります。エラーはスローされませんが、おそらく私は単純なものを見逃しています。問題のデータベースをターゲットにしていることを確認するために、開発、テスト、本番用のデータベースymlを同じものに設定しました。
データベースから直接クエリを実行すると、3つの機関が返されます。
モデル-institution.rb
class Institution < ActiveRecord::Base
# attr_accessible :title, :body
has_many :childinstitutions, :class_name => "Institution",
:foreign_key => "parentinstitution_id"
belongs_to :parentinstitution, :class_name => "Institution"
def self.search(term)
if term
Institution.where('institutionname LIKE ?', :term).all
else
Institution.all
end
end
end
コントローラー-institutions_controller.rb
class InstitutionsController < ApplicationController
def index
@institutions = Institution.search(params[:term])
respond_to do |format|
format.html # index.html.erb
format.json { render json: @institutions }
end
end
def show
@institution = Institution.find(params[:id])
respond_to do |format|
format.html # show.html.erb
format.json { render json: @institution }
end
end
def new
@institution = Institution.new
respond_to do |format|
format.html # new.html.erb
format.json { render json: @institution }
end
end
end
表示-institutions/index.html.erb
<h1>Listing Institutions</h1>
<table>
<tr>
<th>Id</th>
<th><% @institutions.length %> records</th>
</tr>
<% for institution in @institutions %>
<tr>
<td><% institution.id %></td>
<td></td>
</tr>
<% end %>
</table>
<br />
結果次の行に 非常に大きなリスト機関とIDレコードがあります。