Browse#index中的NoMethodError - nil的未定义方法:NilClass

时间:2013-05-01 03:46:11

标签: ruby-on-rails ruby

我创建了一个名为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

我的routes.rb

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

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

2 个答案:

答案 0 :(得分:0)

您在视图中执行了@hashtags = Hashtag.all {/ 1}}。

也许你应该在你的视图中@post.hashtags.each

答案 1 :(得分:0)

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

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

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

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