我创建了一个研究人员数据库和他们用Rails编写的论文。我需要能够通过作者过滤它,以便将信息从数据库中抽取到人名中的页面上(例如,如果有一位名为Dr. A. Researcher的研究员,我需要能够去到他的页面,该页面将填充他/她自动写的文件。我已经在这方面工作了一段时间,已经圈了很多次,我不确定我在寻找什么(虽然我认为它可能是基于AJAX的)。过滤数据库似乎非常简单,但我似乎无法找到有关将过滤器的结果发送到特定页面的任何信息。
正如我所说,我不完全确定我在这里寻找什么,所以有人可能有类似的问题已经得到解答。如果是这样,我道歉。任何人对此有任何帮助都将非常感激。
干杯
答案 0 :(得分:1)
好像你只想使用show动作。
在您的controllers / websites.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 %>
此外,您还需要确保在模型中正确设置关系
in models / researcher.rb
添加
has_many :papers
到研究员班级
和models / papers.rb
添加
belongs_to :researcher
到纸类
localhost:3000 / reseachers / 1其中1是研究人员的ID,然后应该返回该研究员的论文