Bas*_*ect 4 ruby-on-rails constants acts-as-taggable-on ruby-on-rails-3
此控制器操作在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
Run Code Online (Sandbox Code Playgroud)
但是在将我的应用程序迁移到Rails 3时,我在Tags#show中遇到了这个错误:
uninitialized constant TagsController::Tag
Run Code Online (Sandbox Code Playgroud)
它不喜欢Tag常数.其他人遇到过这个问题吗?
我正在使用Rails 3.0.0RC和Ruby 1.9.2.
Pau*_*ves 12
尝试包括完整的命名空间,例如
@title = ActsAsTaggableOn::Tag.find(params[:id]).name
Run Code Online (Sandbox Code Playgroud)
And*_*ndy 10
您还可以在应用中定义模型:
# app/models/tag.rb
class Tag < ActsAsTaggableOn::Tag
end
# app/models/tagging.rb
class Tagging < ActsAsTaggableOn::Tagging
end
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2503 次 |
| 最近记录: |