0

我创建了一个名为browse的新控制器,这就是我在里面的东西

class BrowseController < ApplicationController
def index
    @hashtags = Hashtag.all
end    
end

我正在尝试使用此 (views\browse\index.html.erb) 在视图中显示所有主题标签

<ul> 
<% @post.hashtags.each do |h| %>

<li><%= h.hashtags %></li>
<% end %>
</ul>

这是我得到的错误

NoMethodError in Browse#index
undefined method `hashtags' for nil:NilClass

我的路线.rb

get'/browse' => 'browse#index', :as => :index

如何修复此错误以在 browse.html.erb 中显示列表?如果我想按日期的降序显示它们,我需要把它放在哪里?

4

2 回答 2

0

@hashtags = Hashtag.all在控制器中进行了操作,而您@post.hashtags.each在视图中进行了操作。

也许您也应该这样做@hashtags.each

于 2013-05-01T03:48:42.033 回答
0

您应该在索引视图中使用代码,如下所示:

<ul> 
<% @hashtags.each do |h| %>

<li><%= h.{field_name} %></li>
<% end %>
</ul>

其中 {field_name} 必须是Hashtagm模型中包含的字段的名称。

于 2013-05-01T04:04:33.650 回答