0

私は研究者のデータベースと彼らが Rails で書いた論文を作成しました。情報がデータベースから人の名前のページに引き出されるような方法で、著者でフィルタリングできる必要があります (たとえば、Dr. A. Researcher という研究者がいる場合、私は行くことができる必要がありますそのページには、彼/彼女が書いた論文が自動的に表示されます)。私はこれにしばらく取り組んでおり、何度もぐるぐる回っていますが、何を探しているのか正確にはわかりません(おそらくAJAXベースになると思いますが)。データベースのフィルタリングは非常に簡単に思えますが、そのフィルターの結果を特定のページに送信することに関する情報が見つからないようです。

私が言うように、私がここで何を探しているのか完全にはわからないので、誰かがすでに回答されている同様の問題を抱えている可能性があります. その場合は、お詫び申し上げます。これについて誰かが助けてくれれば、非常に感謝しています。

乾杯

4

1 に答える 1

1

show アクションを使用したいだけのようです。

controllers/researchers.rb コントローラーに追加します

def show
  @reseacher = Reseacher.find(params[:id])
end

またはおそらく

def show
    @reseacher = Reseacher.find(params[:id], include: [:papers])
end

次に、views/show.html.erbビューに追加するだけです

<% @reseacher.papers.each do |p| %>
    <%= p.title %>
    <%= p.otherattribute %>
<% end %>

また、モデルで関係が正しく設定されていることを確認する必要があります

models/researcher.rb 内

追加

has_many :papers

研究者クラスへ

そしてmodels/papers.rbで

追加

belongs_to :researcher

ペーパークラスへ

localhost:3000/reseachers/1 1 は研究者の ID であり、その研究者の論文を返す必要があります

于 2012-07-12T15:35:11.523 に答える