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 %>

此外,您需要确保在模型中正确设置您的关系

在模型/researcher.rb

添加

has_many :papers

到研究员级

并在模型/papers.rb

添加

belongs_to :researcher

到纸课

localhost:3000/reseachers/1 其中 1 是研究人员的 id 然后应该返回该研究人员的论文

于 2012-07-12T15:35:11.523 回答