Неинициализированная константа тега в Rails 3 с помощью Acts_As_Taggable_On - PullRequest
4 голосов
/ 24 августа 2010

Это действие контроллера отлично работало в Rails 2.3.x:

def show
  @title = Tag.find(params[:id]).name
  @tag = Tag.find(params[:id])
  @messages = Post.paginate(Post.find_tagged_with(@tag), 
              :page => params[:page], :per_page => 10, :order => "updated_at DESC")
  @related_tags = @related_entries.collect{|x|x.tags}.flatten.uniq
  @related_tags.delete(@tag)
end

Но при переносе приложения в Rails 3 я столкнулся с этой ошибкой в ​​Tags # show:

uninitialized constant TagsController::Tag

Не нравится константа Tag. У кого-нибудь еще была такая проблема?

Я использую Rails 3.0.0RC и Ruby 1.9.2.

Ответы [ 2 ]

12 голосов
/ 27 августа 2010

Попробуйте включить полное пространство имен, например,

@title = ActsAsTaggableOn::Tag.find(params[:id]).name
10 голосов
/ 01 февраля 2011

Вы также можете определить модель в своем приложении:

# app/models/tag.rb
class Tag < ActsAsTaggableOn::Tag
end

# app/models/tagging.rb
class Tagging < ActsAsTaggableOn::Tagging
end
...