1

私は自分の記事を洗練させ、ユーザーが何を見たいかを柔軟に決定できるようにしようとしています。

ここに関係のあるモデル

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

これで、アイデアは記事に使用され、側面にtags.titleが表示され、tags="world"であるArticleでページが更新されます。今、私はスコープでこれを行おうとしていますが、それを行う方法がわかりません。ここに私のモデルの私のスコープ

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 に答える