0

レコードがデータベースから返されないという問題があります。エラーはスローされませんが、おそらく私は単純なものを見逃しています。問題のデータベースをターゲットにしていることを確認するために、開発、テスト、本番用のデータベース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レコードがあります。

4

1 に答える 1

0

私はこれを数回行ったことがありますが、誰かが同様の問題に遭遇した場合に備えて、私の問題は表示部分に対処する必要がありました。真剣にRTFMの場合、ここに。画面に表示する参照フィールドは、<%ではなく<%=にする必要があります。

更新されたビュー

<h1>Listing Institutions</h1>

<table>
  <tr>
    <th>Id</th>
    <th></th>
    <th><%= @institutions.length %> records</th>
  </tr>

<% for institution in @institutions %>
  <tr>
    <td><%= institution.id %></td>
  </tr>
<% end %>
</table>

<br />
于 2013-03-04T23:24:43.323 に答える