0

ここは初めてです!誰も私の質問に腹を立てないことを願っています.Railsの勉強を始めたのはほんの数日前です.

質問は:

:id、:name、:email、:phone、id の FK である :id_indicator を持つモデルの学生を取得しました。INDICATOR の ID ではなく INDICATOR の NAME を表示したいと思います。

<td><%= student.id%></td>
<td><%= student.name %></td>
<td><%= student.email %></td>
<td><%= student.phone %></td>
<td><%= student.id_indicator%></td> ---> I want to show the NAME here

どうやってやるの?

皆さんありがとう!

モデル STUDENT は 1 つだけです。自己関係表です。学生を紹介する学生がいます。

そのための SQL クエリは次のようになります。

select name from **students** where id = ( select id_indicator from **students** where id = 10)

例: http://i.stack.imgur.com/7kgfX.png

4

2 に答える 2

2

1 人の生徒は複数の生徒を指定でき、その生徒は 1 人の生徒のみを指定できます

class Aluno < ActiveRecord::Base 
    attr_accessible :email, :id, :id_indicator, :name, :profession, :gender, :phone

    belongs_to :indicator, class_name: "Aluno", :foreign_key => "id_indicator"
    has_many :indicates, class_name: "Aluno", :foreign_key => "id_indicator"
end

学生を示した人物の名前を見たい場合:

<%= student.indicator.name %>

または、生徒が指定したすべての生徒を見つけたい場合は、次のようにします。

<% student.indicates.each do |indicate| %>
     <%= indicate.name %>
<% end %>

詳細については、Rails ガイドまたは Railscasts をチェックアウトしてください

于 2013-04-02T22:26:55.920 に答える
1

あなたのモデルを見せてください。

<%= student.indicator.name %>
于 2013-04-02T22:20:06.087 に答える