我正在关注this tutorial来创建一些自定义标记。因为我没有以这种方式构建我的网站,所以除了AJAX和Foundation部分之外我的指示。我遇到了"标签研究的问题"部分当你只需要点击一个标签来查看关于标签的所有帖子时,Rails会告诉我以下内容:
$ git diff --name-only aeddbfdfa e05806da9
以下是我从教程改编的文件:
article.rb
undefined method `articles' for #<Tag:0x007f0a690eeb40>
tag.rb
class Article < ApplicationRecord
mount_uploader :image, ArticleUploader
extend FriendlyId
friendly_id :titre, use: :slugged
has_many :taggings
has_many :tags, through: :taggings
def all_tags=(names)
self.tags = names.split(',').map do |name|
Tag.where(name: name.strip).first_or_create!
end
end
def all_tags
self.tags.map(&:name).join(", ")
end
def self.tagged_with(name)
Tag.find_by_name!(name).articles # Issue comes from here
end
end
tagging.rb
class Tag < ApplicationRecord
has_many :taggings
has_many :tags, through: :taggings
end
配置/ routes.rb中
class Tagging < ApplicationRecord
belongs_to :article
belongs_to :tag
end
请询问您是否需要查看其他内容
正如您所看到的,我只是使用了我的文章&#39;在开始教程时已经存在的模型,所以我使用了&#39;文章&#39;而不是&#39;帖子&#39;正如作者所说。我无法在Google上找到任何相关内容,而且我现在没有使用任何IDE,所以我不知道该怎么做..
欢迎任何帮助!
答案 0 :(得分:1)
在Tag
模型中,您尝试关联tags
仅表示您正在关联自己。所以改变你的联想
has_many :tags, through: :taggings
到:
has_many :articles, through: :taggings
然后试试。你不应该面对问题。