【发布时间】:2013-09-30 16:57:14
【问题描述】:
我有搜索 2 个模型的搜索控制器 - 帖子和类别。搜索有效,但我无法在视图中正确显示结果 - 我无法显示类别名称。
此时我感到非常困惑和沮丧,希望能得到一些帮助! 我很确定(99% 确定)问题出在某处的视图中,因为我可以通过渲染检查获得结果来显示。
SearchController.rb
class SearchController < ApplicationController
def index
@posts = Post.search(params[:search])
@categories = Category.search(params[:search])
# combine the results
@results = @posts + @categories
@results.uniq # may be necessary to remove duplicates
end
end
index.html.erb(查看/搜索)
<%= render 'posts/posts', :posts => @posts %>
_posts.html.erb(查看/帖子)
<h1>Listing posts</h1>
<table>
<tr>
<th>Name</th>
<th>Category</th>
<th>Description</th>
<th>Flag</th>
</tr>
<% if posts %>
<% posts.each do |post| %>
<tr>
<td><%= post.name %></td>
<td><%= post.category.name %></td>
<td><%= post.description %></td>
<td><%= post.flag %></td>
</tr>
<% end %>
<% else %>
<tr><td>No posts</td></tr>
<% end %>
</table>
我可以显示与搜索匹配的帖子,但我无法显示类别。我怎样才能做到这一点?任何帮助都非常感谢!谢谢。
【问题讨论】:
-
我已经解决了我的问题。我不太明白为什么它还有效。但本质上它正在寻找我没有的文件 /categories/_category 和 /posts/_post 。这不是显而易见的,红宝石!不明显。除了第一行,我删除了 Controller 中的所有内容。我没有修改 _posts.html.erb 。我稍后会在答案中发布完整的代码。如果使用黑子,我也喜欢 kobaltz 的解决方案。
标签: ruby-on-rails ruby search view