1

我正在尝试改进我的文章并让我的用户灵活地决定他们想要查看的内容。

这里有关系的模型

  Article
    has_many :tags, through: :articletags
  ArticleTags
    belongs_to :article
    belongs_to :tags
  Tags
    has_many :article, through: articletags

现在的想法是使用将进入文章并在侧面看到 tags.title,然后使用 Article where tags = "world" 刷新页面。现在我正在尝试使用范围来执行此操作,但我不确定该怎么做。这是我模型中的范围

scope :by_tags, where(title => ?, "world news")

我怎么称呼它

<%= link_to (tag.title), articles_path(:scope => "test") %>

但显然它不起作用我该如何解决它?

4

1 回答 1

0

看法

<%= link_to (tag.title), articles_path(:scope => tag.title) %>

型号(条)

def self.by_tags(tag)
  joins(:tags).where('tags.title = ?', tag)
end

控制器

def index
  @articles = Article.by_tags(params[:scope])
end
于 2012-09-19T06:11:56.930 回答