【发布时间】:2012-03-14 19:27:54
【问题描述】:
在我的articles_controller 中我有以下定义
def index
@tags = Article.tag_counts_on(:keywords) || ''
klass = Article
klass = klass.tagged_with(@keyword) if (@keyword = params[:keyword]).present?
@articles = klass.paginate(:page => params[:page])
@articles = Article.where(:state => '4').paginate(:page => params[:page], :per_page => 10)
respond_to do |format|
format.html # index.html.erb
format.xml { render :xml => @articles }
end
end
在我的意见/文章/index.html.erb 我有代码:
<% @tags.sort_by(&:count).reverse.each do |k| %>
<% url_opts = {:action => "index", :controller => "articles"}
link_name = "#{k.name} (#{k.count})" %>
<% if @keyword == k.name %>
<%= link_to link_name, url_opts.merge(:keyword => nil), :class => "tag current_tag", :title => "Click again to see all" %>
<% else %>
<%= link_to link_name, url_opts.merge(:keyword => k.name), :class => "tag", :title => "Click to filter by #{k.name}" %>
<% end %>
<% end %>
我使用 Ruby 1.9.2、Rails 3.0.11 和 Gemfile 中的 gem act-as-taggable-on 和以下代码
rails generate acts_as_taggable_on:migration
创建表格标签和标记
在我的日志中我有这个错误:
在布局/应用程序中渲染文章/index.html.erb (57.4ms) 在 189 毫秒内完成 500 个内部服务器错误
ActionView::Template::Error (你有一个 nil 对象,但你没想到它! 您可能期望有一个 Array 的实例。 评估 nil.sort_by 时发生错误)
变量@tags 是一个数组?并且有一个 nil 对象?
【问题讨论】:
标签: ruby-on-rails-3 acts-as-taggable-on