0

我正在尝试构建一个内部应用程序。我有一个带有电子邮件的模型。每封电子邮件都有一个 ID。但是,我有一个视图显示带有此查询的不同电子邮件线程:

@subjects = Email.all(:group => "title")

我正在使用以下代码显示结果。

<% @subjects.each do |subject| %>
  <tr>
    <td><%= subject.title %></td>
  </tr>
<% end %>

我希望用户能够单击其中一个不同的标题并转到显示所有与该标题匹配的电子邮件的页面。

我研究过传递参数,但我不太确定该怎么做。就目前而言,我正在尝试这样的事情:

<%= link_to 'Show thread', :action => :thread, :title => subject.title %>

这会生成一个漂亮、方便的 URL。但这似乎不起作用:

@emails = Email.find(params[:title])

帮助、提示或建议将不胜感激。

4

1 回答 1

2

您正在搜索其 id 等于标题值的记录。您应该改为对标题字段进行匹配。

如果要检索单个记录

@emails = Email.where(title: params[:title]).first 

或者

@emails = Email.find_by_title(params[:title])

如果要检索多条记录

@emails = Email.where(title: params[:title]) 
于 2012-07-13T15:58:34.233 回答