过滤Rails数据库

时间:2012-07-12 14:54:36

标签: ruby-on-rails

我创建了一个研究人员数据库和他们用Rails编写的论文。我需要能够通过作者过滤它,以便将信息从数据库中抽取到人名中的页面上(例如,如果有一位名为Dr. A. Researcher的研究员,我需要能够去到他的页面,该页面将填充他/她自动写的文件。我已经在这方面工作了一段时间,已经圈了很多次,我不确定我在寻找什么(虽然我认为它可能是基于AJAX的)。过滤数据库似乎非常简单,但我似乎无法找到有关将过滤器的结果发送到特定页面的任何信息。

正如我所说,我不完全确定我在这里寻找什么,所以有人可能有类似的问题已经得到解答。如果是这样,我道歉。任何人对此有任何帮助都将非常感激。

干杯

1 个答案:

答案 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,然后应该返回该研究员的论文